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
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]