summaryrefslogtreecommitdiff
path: root/include/linux/ksm.h
diff options
context:
space:
mode:
authorHugh Dickins <hugh.dickins@tiscali.co.uk>2009-12-15 04:59:20 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-15 19:53:19 +0300
commit7b6ba2c7d3baf8cd9f888e05563dcc32e368baab (patch)
tree89e62613a37d803e4a83b96559acca29526f9638 /include/linux/ksm.h
parent6514d511dbe5a77b4bdc0a7e26fd679585112e1e (diff)
downloadlinux-7b6ba2c7d3baf8cd9f888e05563dcc32e368baab.tar.xz
ksm: separate stable_node
Though we still do well to keep rmap_items in the unstable tree without a separate tree_item at the node, for several reasons it becomes awkward to keep rmap_items in the stable tree without a separate stable_node: lack of space in the nicely-sized rmap_item, the need for an anchor as rmap_items are removed, the need for a node even when temporarily no rmap_items are attached to it. So declare struct stable_node (rb_node to place it in the tree and hlist_head for the rmap_items hanging off it), and convert stable tree handling to use it: without yet taking advantage of it. Note how one stable_tree_insert() of a node now has _two_ stable_tree_append()s of the two rmap_items being merged. Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk> Cc: Izik Eidus <ieidus@redhat.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/ksm.h')
0 files changed, 0 insertions, 0 deletions