vmpage01 patch - replace hash table and memq list with RB tree.
Matthew Dillon
dillon at apollo.backplane.com
Tue Nov 21 02:04:03 PST 2006
This is slated for commit on Friday. This patch removes the global
VM page hash table and also removes the VM object memq for VM pages
and replaces them with a single red-black tree based in the VM object.
It needs some testing.
fetch http://apollo.backplane.com/DFlyMisc/vmpage01.patch
The work also takes advantage of the RB tree topology to remove a
number of hacks that previously existed to optimize page ranges. The
new scheme is a much better fit to the types of ranged operations
we already perform and intend to perform in the future.
Lookups are somewhat less optimal and may inspire an optimization
later on, but the nerf isn't really noticeable.
One interesting outcome is that not having to allocate a global VM
page hash table also saves us about 1 megabyte of memory per gigabyte
of ram. Ok, it isn't that much, but it's always nice to occassionally
be able to shrink the kernel's memory footprint :-)
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Kernel
mailing list