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