• Hugh Dickins's avatar
    [PATCH] swap: swap extent list is ordered · 11d31886
    Hugh Dickins authored
    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: default avatarHugh Dickins <hugh@veritas.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    11d31886
swapfile.c 40.9 KB