git: taskqueue - Major overhaul

看板DFBSD_commit作者時間16年前 (2009/09/30 16:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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
文章代碼(AID): #1AmnU7XS (DFBSD_commit)