git: kernel - Improve regressions in usched_dfly (2)

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Sep 20 11:38:44 PDT 2012


commit 76568a7ceba9ae2af1d1a9b0f75699b1e1ef5e4b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Sep 20 11:35:21 2012 -0700

    kernel - Improve regressions in usched_dfly (2)
    
    * Allow various fork() behaviors to be supported via
      kern.usched_dfly.features.
    
    * Set the default to place the newly forked process on
      a random cpu instead of the current cpu.
    
      The bsd4 scheduler had a global queue and could just signal
      a random helper to pick up the thread.  The dfly scheduler
      has per-cpu queues and must actually enqueue the thread to
      another cpu.
    
      The bsd4 scheduler is still slightly superior here because
      if the parent running on the current cpu immediately waits
      for the child, the child is able to run on the current cpu.
      However, randomization works quite well and this removes
      nearly all of the make -j N regression.

Summary of changes:
 sys/kern/usched_dfly.c |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/76568a7ceba9ae2af1d1a9b0f75699b1e1ef5e4b


-- 
DragonFly BSD source repository



More information about the Commits mailing list