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 crater.dragonflybsd.org
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
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
More information about the Commits
mailing list