Hugh Dickins 7b6ba2c7d3 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>
2009-12-15 08:53:19 -08:00
..
2009-12-03 13:49:43 +01:00
2009-11-10 12:31:43 +01:00
2009-04-01 08:59:13 -07:00
2009-12-10 15:02:50 +01:00
2009-06-16 19:47:28 -07:00
2009-12-15 08:53:17 -08:00
2009-12-15 08:53:17 -08:00
2009-12-15 08:53:19 -08:00
2009-10-02 13:29:29 +09:00
2009-12-15 08:53:17 -08:00
2009-12-15 08:53:17 -08:00
2009-09-22 07:17:35 -07:00
2009-12-15 08:53:17 -08:00
2009-12-15 08:53:17 -08:00
2009-12-15 08:53:17 -08:00
2009-12-15 08:53:16 -08:00
2009-12-15 08:53:17 -08:00
2009-12-15 08:53:16 -08:00
2009-12-15 08:53:17 -08:00
2009-06-23 12:50:05 -07:00