[PATCH] swap: swap extent list is ordered
authorHugh Dickins <hugh@veritas.com>
Sat, 3 Sep 2005 22:54:34 +0000 (15:54 -0700)
committerLinus Torvalds <torvalds@evo.osdl.org>
Mon, 5 Sep 2005 07:05:40 +0000 (00:05 -0700)
commit11d31886dbcb61039ed3789e583d21c6e70960fd
treeddaebfd35080a530a30c56587707c2c5ef452591
parent4cd3bb10ff0b21b77b5a4cd13b4bd36694e054c4
[PATCH] swap: swap extent list is ordered

There are several comments that swap's extent_list.prev points to the lowest
extent: that's not so, it's extent_list.next which points to it, as you'd
expect.  And a couple of loops in add_swap_extent which go all the way through
the list, when they should just add to the other end.

Fix those up, and let map_swap_page search the list forwards: profiles shows
it to be twice as quick that way - because prefetch works better on how the
structs are typically kmalloc'ed?  or because usually more is written to than
read from swap, and swap is allocated ascendingly?

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/swap.h
mm/swapfile.c