git: kernel -- vm_object locking Part 1: Primitives
Venkatesh Srinivas
vsrinivas at crater.dragonflybsd.org
Thu Mar 3 23:12:07 PST 2011
commit e1c14c82961b940b20c922f9eda5ad5af13848a4
Author: Venkatesh Srinivas <me at endeavour.zapto.org>
Date: Thu Mar 3 23:07:47 2011 -0800
kernel -- vm_object locking Part 1: Primitives
* Create per-vm_object 'hold count'; the hold count ensures that a
vm_object is not deallocated or collapsed till it transitions 1->0.
Hold count is waited for in vm_object_terminate and _collapse.
* Convert vm_object_lock/_unlock to use pool tokens; pool tokens do not
share storage with the vm_object, simplifying lifetime.
Cleanups:
* Remove first attempts at vm_object locking; it just wasn't clear
what each token was protecting earlier.
* Eliminate vestigial fields from vm_object structure.
* Clean vm_object_pip_wakeup (just call _wakeupn)
* Remove vm_page_(un)lock for now
Discussed-with: dillon@
Summary of changes:
sys/vm/vm_kern.c | 2 -
sys/vm/vm_map.c | 2 -
sys/vm/vm_object.c | 89 ++++++++++++++++++++++++++++++++++++++--------------
sys/vm/vm_object.h | 25 +++++----------
sys/vm/vm_page.c | 13 -------
sys/vm/vm_page.h | 2 -
6 files changed, 73 insertions(+), 60 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e1c14c82961b940b20c922f9eda5ad5af13848a4
--
DragonFly BSD source repository
More information about the Commits
mailing list