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
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]