git: kernel - Change lwp_fork() to not hold the mplock in the new thread
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Aug 28 16:20:32 PDT 2010
commit 2b0bd8aa71c8580bcfe166e5ab7331c0d5e821a9
Author: Matthew Dillon <dillon at 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
More information about the Commits
mailing list