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