cvs commit: src/sys/sys taskqueue.h src/sys/kern subr_taskqueue.c
Scott Long
scottl at FreeBSD.org
Mon Jan 9 22:31:12 PST 2006
scottl 2006-01-10 06:31:12 UTC
FreeBSD src repository
Modified files:
sys/sys taskqueue.h
sys/kern subr_taskqueue.c
Log:
Add functions and macros and refactor code to make it easier to manage
fast taskqueues. The following have been added:
TASKQUEUE_FAST_DEFINE() - create a global task queue.
an arbitrary execution context.
TASKQUEUE_FAST_DEFINE_THREAD() - create a global taskqueue that uses a
dedicated kthread.
taskqueue_create_fast() - create a local/private taskqueue.
These are all complimentary of the standard taskqueue functions. They are
primarily useful for fast interrupt handlers that can only use spinlock for
synchronization.
I personally think that the taskqueue API is starting to get too narrow and
hairy, but fixing it will require a major redesign on the API. Such a
redesign would be good but would break compatibility with FreeBSD 6.x, so
it really isn't desirable at this time.
Submitted by: sam
Revision Changes Path
1.32 +86 -116 src/sys/kern/subr_taskqueue.c
1.15 +31 -1 src/sys/sys/taskqueue.h
More information about the cvs-src
mailing list