git: kernel - Refactor lockmgr() (2)

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Oct 31 10:49:59 PDT 2017


commit 124072b8b9f65b69be0cf6925112a30ec0bb9937
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Oct 27 18:55:43 2017 -0700

    kernel - Refactor lockmgr() (2)
    
    * Remove the global vfs_spin() lock and single vnode_active_list
      and single vnode_inactive_list.
    
    * Replace with a pcpu array of spinlocks and lists.  However, for
      this initial push the array is simply hashed based on the vnode
      pointer, so it isn't really being acted on pcpu.
    
    * Significantly reduces numerous bottlenecks when vnodes start to get
      recycled by vnlru().  Cache line bounces are still a problem,
      but direct spinlock conflicts are essentially gone.

Summary of changes:
 sys/kern/vfs_lock.c | 187 +++++++++++++++++++++++++++++++++-------------------
 1 file changed, 118 insertions(+), 69 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/124072b8b9f65b69be0cf6925112a30ec0bb9937


-- 
DragonFly BSD source repository



More information about the Commits mailing list