cvs commit: src/sys/machine/pc32/i386 pmap.c src/sys/vm vm_object.c vm_object.h vm_page.c vm_page.h vm_pageout.c

Matthew Dillon dillon at
Sat Dec 2 15:14:22 PST 2006

dillon      2006/12/02 15:13:46 PST

DragonFly src repository

  Modified files:
    sys/machine/pc32/i386 pmap.c 
    sys/vm               vm_object.c vm_object.h vm_page.c 
                         vm_page.h vm_pageout.c 
  Replace the global VM page hash table with a per-VM-object RB tree.  No
  performance degradation was observed (probably due to locality of reference
  in the RB tree improving cache characteristics for searches).  This also
  significantly reduces the kernel memory footprint (no global VM page hash
  table) and reduces the size of the vm_page structure.  Future MP work
  should benefit from this change.
  Prior work in the VM tree guarenteed that VM pages only existed in the hash
  table while also associated with a VM object, this commit uses that guarentee
  to make the VM page lookup structures VM-object-centric.
  Revision  Changes    Path
  1.62      +83 -158   src/sys/machine/pc32/i386/pmap.c
  1.27      +385 -423  src/sys/vm/vm_object.c
  1.11      +4 -1      src/sys/vm/vm_object.h
  1.33      +35 -115   src/sys/vm/vm_page.c
  1.25      +32 -2     src/sys/vm/vm_page.h
  1.27      +58 -53    src/sys/vm/vm_pageout.c

More information about the Commits mailing list