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

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 2 Dec 2006 15:13:46 -0800 (PST)

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 
  Log:
  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


http://www.dragonflybsd.org/cvsweb/src/sys/machine/pc32/i386/pmap.c.diff?r1=1.61&r2=1.62&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_object.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_object.h.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page.h.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_pageout.c.diff?r1=1.26&r2=1.27&f=u



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