git: kernel - Add usched_dfly algorith, set as default for now (4)
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Sep 18 20:57:36 PDT 2012
commit 08bb2a8309b22300155c1fafe69f9a46d3526e44
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Tue Sep 18 20:55:18 2012 -0700
kernel - Add usched_dfly algorith, set as default for now (4)
* Fix fork regression with usched_dfly. Most fork/exec sequences involve
the parent waiting. The new scheduler was placing the newly forked
process on another cpu which is non-optimal if the parent is going
to immediately wait.
Instead if there is nothing else waiting to run on the current cpu,
leave the forked process on the current cpu initially. If the parent
waits quickly the forked process will get cpu, otherwise it will get
scheduled away soon enough. If the parent forks additional children
then we find there is something on the queue now (the first child) and
put the additional children on other cpus.
Reported-by: thesjg
Summary of changes:
sys/kern/usched_dfly.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++-
sys/sys/usched.h | 2 +-
2 files changed, 68 insertions(+), 2 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/08bb2a8309b22300155c1fafe69f9a46d3526e44
--
DragonFly BSD source repository
More information about the Commits
mailing list