git: kernel - Improve regressions in usched_dfly (1)

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Sep 20 00:38:30 PDT 2012


commit 2b07d9aafafed2c45a950d060e1f3f659d6b784b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Sep 20 00:31:43 2012 -0700

    kernel - Improve regressions in usched_dfly (1)
    
    * The new scheduler is MP locked at a very fine-grain.  The old scheduler
      had a global spinlock which effectively serialized competing cores during
      exit/wait sequences.
    
      With the new scheduler this serialization is gone and resulted in a
      vfork performance regression due to a fallback tsleep loop in the
      reaper.
    
    * This fixes the problem with an explicit signal bit for tsleep/wakeup.
      The sequence is avoided if the reaper determines the thread has
      already completed its exit.

Summary of changes:
 sys/kern/kern_exit.c   |   60 +++++++++++++++++++++++++++++------------------
 sys/kern/lwkt_thread.c |   25 ++++++++++++++++++++
 sys/sys/thread.h       |    2 +
 3 files changed, 64 insertions(+), 23 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2b07d9aafafed2c45a950d060e1f3f659d6b784b


-- 
DragonFly BSD source repository



More information about the Commits mailing list