DragonFly kernel List (threaded) for 2006-11
vmpage01 patch - replace hash table and memq list with RB tree.
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.
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 :-)