Fix: find_or_create_page skips cpuset memory spreading.

We call alloc_page where we should be calling __page_cache_alloc.

__page_cache_alloc performs cpuset memory spreading. alloc_page does not.
There is no reason that pages allocated via find_or_create should be
exempt.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Christoph Lameter and committed by Linus Torvalds 43c0f3d2 8382d2b9

+2 -1
+2 -1
mm/filemap.c
··· 670 670 page = find_lock_page(mapping, index); 671 671 if (!page) { 672 672 if (!cached_page) { 673 - cached_page = alloc_page(gfp_mask); 673 + cached_page = 674 + __page_cache_alloc(gfp_mask); 674 675 if (!cached_page) 675 676 return NULL; 676 677 }