git: kernel - Improve regressions in usched_dfly (1)
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Sep 20 00:38:30 PDT 2012
commit 2b07d9aafafed2c45a950d060e1f3f659d6b784b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Sep 20 00:31:43 2012 -0700
kernel - Improve regressions in usched_dfly (1)
* The new scheduler is MP locked at a very fine-grain. The old scheduler
had a global spinlock which effectively serialized competing cores during
exit/wait sequences.
With the new scheduler this serialization is gone and resulted in a
vfork performance regression due to a fallback tsleep loop in the
reaper.
* This fixes the problem with an explicit signal bit for tsleep/wakeup.
The sequence is avoided if the reaper determines the thread has
already completed its exit.
Summary of changes:
sys/kern/kern_exit.c | 60 +++++++++++++++++++++++++++++------------------
sys/kern/lwkt_thread.c | 25 ++++++++++++++++++++
sys/sys/thread.h | 2 +
3 files changed, 64 insertions(+), 23 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2b07d9aafafed2c45a950d060e1f3f659d6b784b
--
DragonFly BSD source repository
More information about the Commits
mailing list