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

git: kernel - sysref - Fix vnode interlock for 1->0 transition


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 11 Feb 2010 12:46:29 -0800 (PST)

commit e654922c869be2609aefdb087a028c991681b1fa
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Thu Feb 11 12:38:10 2010 -0800

    kernel - sysref - Fix vnode interlock for 1->0 transition
    
    * When the vnode refcount drops to 0 vnode_terminate() is called.  This
      function previously acquired the vx_lock() after the 1->0 transition.
    
      Instead integrate the acquisition of the vx_lock() into the 1->0
      transition to close a small MP race.

Summary of changes:
 sys/kern/kern_sysref.c     |    4 +-
 sys/kern/vfs_lock.c        |  120 +++++++++++++++++++++----------------------
 sys/sys/sysref.h           |    4 ++
 sys/vfs/devfs/devfs_core.c |   19 +++++++-
 sys/vm/vm_map.c            |   16 ++++++-
 5 files changed, 99 insertions(+), 64 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e654922c869be2609aefdb087a028c991681b1fa


-- 
DragonFly BSD source repository



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