git: kernel - Change lwp_fork() to not hold the mplock in the ne

看板DFBSD_commit作者時間15年前 (2010/08/29 07:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 2b0bd8aa71c8580bcfe166e5ab7331c0d5e821a9 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sat Aug 28 15:37:07 2010 -0700 kernel - Change lwp_fork() to not hold the mplock in the new thread * Change lwp_fork() to produce a mpsafe thread at startup instead of one with the mplock held. * Change all fork_trampoline() functions and all kernel callbacks via cpu_set_fork_handler() to expect a thread without the mplock held. * Adjust the thread procedures for aio etc (those not yet mpsafe) to acquire the mplock. Summary of changes: sys/kern/init_main.c | 7 +++++-- sys/kern/kern_fork.c | 5 +---- sys/kern/vfs_aio.c | 7 +++++-- sys/netproto/smb/smb_iod.c | 6 +++++- sys/platform/pc32/i386/exception.s | 4 ++-- sys/platform/pc32/i386/trap.c | 16 +++++++++------- sys/platform/pc64/x86_64/exception.S | 4 ++-- sys/platform/pc64/x86_64/trap.c | 16 +++++++++------- sys/platform/vkernel/i386/fork_tramp.s | 4 ++-- sys/platform/vkernel/i386/trap.c | 16 +++++++++------- sys/platform/vkernel64/x86_64/fork_tramp.s | 4 ++-- sys/platform/vkernel64/x86_64/trap.c | 16 +++++++++------- 12 files changed, 60 insertions(+), 45 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2b0bd8aa71c8580bcfe166e5ab7331c0d5e821a9 -- DragonFly BSD source repository
文章代碼(AID): #1CUPnro9 (DFBSD_commit)