[RFC] Outline of USB process integration in the kernel
weongyo.jeong at gmail.com
Sun Nov 7 02:23:15 UTC 2010
On Fri, Nov 05, 2010 at 07:30:38PM +0100, Hans Petter Selasky wrote:
> In the patch attached to this e-mail I included Matthew Fleming's patch
> 1) I renamed taskqueue_cancel() into taskqueue_stop(), hence that resembles
> the words of the callout and USB API's terminology for doing the same.
> 2) I turns out I need to have code in subr_taskqueue.c to be able to make the
> operations atomic.
> 3) I did not update the manpage in this patch. Will do that before a commit.
> 4) My patch implements separate state keeping in "struct task_pair", which
> avoids having to change any KPI's for now, like suggested by John Baldwin I
> 5) In my implementation I hard-coded the priority argument to zero, so that
> enqueuing is fast.
> Comments are welcome!
The patch looks almost you moved usb_process.c code into taskqueue(9)
that I means it still follows that a entry which enqueued at last should
be executed at last. It seems that at least it's not a general for
taskqueue(9). In my humble opinion it looks a trick. I think it'd
better to find a general solution to solve it though I used sx(9) lock
in my patches.
More information about the freebsd-usb