From: Christoph Lameter This deals with swap prefetch and various things changed in mm. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton --- mm/swap_prefetch.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN mm/swap_prefetch.c~mm-implement-swap-prefetching-vs-zvc-stuff mm/swap_prefetch.c --- a/mm/swap_prefetch.c~mm-implement-swap-prefetching-vs-zvc-stuff +++ a/mm/swap_prefetch.c @@ -280,7 +280,7 @@ static void examine_free_limits(void) z->lowmem_reserve[ZONE_HIGHMEM]; ns->highfree[idx] = ns->lowfree[idx] + z->pages_high; - if (z->free_pages > ns->highfree[idx]) { + if (zone_page_state(z, NR_FREE_PAGES) > ns->highfree[idx]) { /* * We've gotten above the high watermark of free pages * so we can start prefetching till we get to the low @@ -337,7 +337,7 @@ static int prefetch_suitable(void) ns = &sp_stat.node[node]; idx = zone_idx(z); - free = z->free_pages; + free = zone_page_state(z, NR_FREE_PAGES); if (free < *ns->pointfree[idx]) { /* * Free pages have dropped below the low watermark so _