DragonFly BSD
DragonFly commits List (threaded) for 2012-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Add usched_dfly algorith, set as default for now (4)


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 18 Sep 2012 20:57:36 -0700 (PDT)

commit 08bb2a8309b22300155c1fafe69f9a46d3526e44
Author: Matthew Dillon <dillon@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]