Scott Long wrote this message on Mon, Nov 15, 2004 at 01:05 -0700: > John-Mark Gurney wrote: > >Scott Long wrote this message on Fri, Nov 12, 2004 at 14:48 -0700: > > > >>M. Warner Losh wrote: > >> > >>>Our usb system supports soft interrupts, but we currently don't make > >>>productive use of them. The following makes interrupts fast > >>>interrupts and uses taskqueues to queue data to a SWI. > >>> > >>>Lemme know if it works for you. > >> > >>Taskqueues aren't good for timing-sensitive operations. Even though USB > >>may not be terribly sensitive, I bet you'll actually see performance > >>drops with things like umass with this. Could you instead just put the > >>real handler into a kthread and wake it up, or use a swi? > > > > > >If you need low latency, I made taskqueue's easier to create: > >TASKQUEUE_DEFINE_THREAD(kqueue); > > > >and then use: > > taskqueue_enqueue(taskqueue_kqueue, &kq->kq_task); > > > >of course replace kqueue w/ your own string... Check the taskqueue(9) > >man page for more details. > > > > So the only problem with TASKQUEUE_DEFINE_THREAD() is that it appears > impossible at the moment to clean up the thread that this creates when > the driver wants to unload. That shouldn't be too hard to fix. :) -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."Received on Mon Nov 15 2004 - 07:31:22 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:22 UTC