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