]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commitb861a2c824a367b9db311bf3c991f86c1aa2e4bc
treeddaebfd35080a530a30c56587707c2c5ef452591
parent7428667a269ddbcc21f2238ac269d6f880450fbe
[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