Date: Sun, 31 Oct 2010 12:52:50 +1300 From: Andrew Thompson <thompsa@FreeBSD.org> To: Weongyo Jeong <weongyo@freebsd.org> Cc: freebsd-usb@freebsd.org Subject: Re: [CFR] add usb_sleepout.[ch] Message-ID: <AANLkTinWoYdWe4eK1AdyYMeOJy2rn72_KiU=K0eBZx_t@mail.gmail.com> In-Reply-To: <20101030231901.GA83161@weongyo> References: <20101030231901.GA83161@weongyo>
next in thread | previous in thread | raw e-mail | index | archive | help
On 31 October 2010 12:19, Weongyo Jeong <weongyo.jeong@gmail.com> wrote: > Hello USB guys, > > The following patch is to add a implementation, called `sleepout'. > Please reviews. =A0I'd like to commit it into HEAD if no objections. > > =A0Adds `sleepout' prototype which is a comic combination of callout(9) a= nd > =A0taskqueue(8) only for USB drivers to implement one step timer. =A0In > =A0current USB drivers using callout(9) interface they all have two step > =A0execution flow as follows: > > =A0 =A01. callout callback is fired by the interrupt context. =A0Then it = needs > =A0 =A0 =A0 to pass it to USB process context because it could sleep(!) w= hile > =A0 =A0 =A0 callout(9) don't allow it. > =A0 =A02. In the USB process context it operates USB commands that most o= f > =A0 =A0 =A0 times it'd be blocked at least 125 us (it'd be always true fo= r USB) I think it is a good addition. Andrew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinWoYdWe4eK1AdyYMeOJy2rn72_KiU=K0eBZx_t>