From owner-freebsd-usb@FreeBSD.ORG Sun Feb 1 10:21:23 2009 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D5C2106564A; Sun, 1 Feb 2009 10:21:23 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe06.swip.net [212.247.154.161]) by mx1.freebsd.org (Postfix) with ESMTP id 950C88FC1D; Sun, 1 Feb 2009 10:21:22 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=6I5d2MoRAAAA:8 a=AAb-Tk7DzNtI7UY2Z7gA:9 a=O6p158yIKaIBwoa3wYMA:7 a=OOt9T3acqCyszXsQwi0banB0NEgA:4 a=50e4U0PicR4A:10 Received: from [85.19.218.115] (account mc467741@c2i.net HELO [10.37.1.92]) by mailfe06.swip.net (CommuniGate Pro SMTP 5.2.6) with ESMTPA id 1189899298; Sun, 01 Feb 2009 11:21:20 +0100 From: Hans Petter Selasky To: Andrew Thompson Date: Sun, 1 Feb 2009 11:23:46 +0100 User-Agent: KMail/1.9.7 References: <20090131231957.GB31825@citylink.fud.org.nz> In-Reply-To: <20090131231957.GB31825@citylink.fud.org.nz> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200902011123.47690.hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: USB2 patches X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Feb 2009 10:21:23 -0000 Hi Andrew, First of all thanks for helping out. I will spend some time now to go through your changes. One thing about the taskqueue. How does it work? I mean, if multiple events gets queued on the same handler, how will the events get executed? In parallell, in serial. I never fully understood that. --HPS On Sunday 01 February 2009, Andrew Thompson wrote: > Hi, > > > I have several patches in my svn user branch that I would like to see > committed to HEAD. Some of these change the usb2 core code so I am > interested in feedback or shootdowns. I am right behind the change to > USB2 and this is an effort to help. > > The patch can be found here, > http://people.freebsd.org/~thompsa/usb_head1.diff > 73 files changed, 9229 insertions(+), 13261 deletions(-) > > but its rather large so it may be easier to look at the various changes > via the svn web interface. > > http://svn.freebsd.org/viewvc/base/user/thompsa/usb/ > > > r187750 > http://svn.freebsd.org/viewvc/base?view=revision&revision=187750 > > Change over to using taskqueue(9) instead of hand rolled threads and > the config_td system. This removes the config_td code and makes the > API much simpler to use. > > r187751, r187752, r187753, r187754, r187755, r187756 > http://svn.freebsd.org/viewvc/base?view=revision&revision=187751 > > Change over to usb2_proc w/ taskqueues for the usb2/ethernet, > usb2/serial and usb2/wlan code. > > r187965 > http://svn.freebsd.org/viewvc/base?view=revision&revision=187965 > > Move most of the ifnet logic into the usb2_ethernet module, this > includes, - make all usb ethernet interfaces named ue%d > - handle all threading in usb2_ethernet > - provide default ioctl handler > - handle mbuf rx > - provide locked callbacks for init,start,stop,etc > > The drivers are not much more than data pushers now. > > > regards, > Andrew