看板 DFBSD_commit 關於我們 聯絡資訊
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(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8619d09d62c9d1c47f3056da6f06808f032f8e1b -- DragonFly BSD source repository