DragonFly commits List (threaded) for 2010-02
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: kernel - SWAP CACHE part 1/many - Convert swblock to a Red-Black tree
commit 96adc7538c33c47d4e6fce31d06ccf00f5aac3fa
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Tue Feb 2 20:36:21 2010 -0800
kernel - SWAP CACHE part 1/many - Convert swblock to a Red-Black tree
* Convert struct swblock from being hashed to a per-vm_object RB tree.
This remove two pointers from struct swblock but adds a RB_ENTRY which
is three pointers and an integer, so swblock gets a little more
bloated.
* Optimize swp_pager_meta_free_all(). We previously indexed through
the entire VM object's size which doesn't scale well for 64-bit
or for swap-cached vnodes. Now we need only iterate the RB tree.
* Move swblock fields out of the VM pager union and make them part of the
native vm_object structure. Swap block assignments will soon be allowed
on vnodes for fast data caching.
Summary of changes:
sys/vm/swap_pager.c | 250 +++++++++++++++++++++-----------------------------
sys/vm/swap_pager.h | 3 +-
sys/vm/vm_map.c | 8 +-
sys/vm/vm_object.c | 2 +
sys/vm/vm_object.h | 29 ++++---
5 files changed, 129 insertions(+), 163 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/96adc7538c33c47d4e6fce31d06ccf00f5aac3fa
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]