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

git: kernel - Improve regressions in usched_dfly (2)


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 20 Sep 2012 11:38:44 -0700 (PDT)

commit 76568a7ceba9ae2af1d1a9b0f75699b1e1ef5e4b
Author: Matthew Dillon <dillon@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



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