git: kernel - Remove last exclusive vnode vm_object lock from the critical path

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Oct 24 13:43:29 PDT 2013


commit 519883f3e095f25c73785ed449b354f237649f7b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Oct 24 13:39:11 2013 -0700

    kernel - Remove last exclusive vnode vm_object lock from the critical path
    
    * Remove the last exclusive vnode vm_object lock from the critical path.
    
    * Path gets hit on exit, but it matters a lot if one is fork/exec'ing a
      lot of binaries.  For example, builds which fork/exec huge numbers of
      concurrent /bin/sh's, compilers, and other programs.
    
    * vfork/exec rate on blade server, 10000 x 8-threads (80000 total) reduced
      from 10.6 seconds to 3.8 seconds, for a major 2.7x improvement in
      performance.

Summary of changes:
 sys/vm/vm_object.c | 125 +++++++++++++++++++++++++++++------------------------
 1 file changed, 68 insertions(+), 57 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/519883f3e095f25c73785ed449b354f237649f7b


-- 
DragonFly BSD source repository



More information about the Commits mailing list