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