DragonFly kernel List (threaded) for 2006-11
DragonFly BSD
DragonFly kernel List (threaded) for 2006-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

vmpage01 patch - replace hash table and memq list with RB tree.


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 21 Nov 2006 01:53:00 -0800 (PST)

    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@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]