DragonFly BSD
DragonFly commits List (threaded) for 2009-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: taskqueue - Major overhaul

From: Alex Hornung <alexh@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 30 Sep 2009 01:21:51 -0700 (PDT)

commit 8619d09d62c9d1c47f3056da6f06808f032f8e1b
Author: Alex Hornung <ahornung@gmail.com>
Date:   Wed Sep 30 08:14:45 2009 +0100

    taskqueue - Major overhaul
    * Move taskqueue from critical sections to fine-grained locking with
      lockmgr for the list of taskqueues (could be changed to spinlocks) and
      spinlock for the task queue in each taskqueue itself.
    * Add a taskqueue_swi_mp which is for mpsafe tasks. Unlike taskqueue_swi
      the mplock is not acquired when tasks are run.
    * Add FreeBSD's taskqueue_start_threads and family, allowing for
      per-taskqueue threads.
    * Add FreeBSD's taskqueue_block and taskqueue unblock.
    * Out of necessity add a register_swi_mp, which registers a swi marked
      as MPSAFE.
    Partially-Obtained-from: FreeBSD

Summary of changes:
 sys/kern/kern_intr.c      |    9 ++
 sys/kern/subr_taskqueue.c |  257 ++++++++++++++++++++++++++++++++++++++-------
 sys/sys/interrupt.h       |    7 +-
 sys/sys/taskqueue.h       |   16 +++
 4 files changed, 250 insertions(+), 39 deletions(-)


DragonFly BSD source repository

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]