Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43c0f3d2 authored by Christoph Lameter's avatar Christoph Lameter Committed by Linus Torvalds
Browse files

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: default avatarChristoph Lameter <clameter@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8382d2b9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -670,7 +670,8 @@ struct page *find_or_create_page(struct address_space *mapping,
	page = find_lock_page(mapping, index);
	if (!page) {
		if (!cached_page) {
			cached_page = alloc_page(gfp_mask);
			cached_page =
				__page_cache_alloc(gfp_mask);
			if (!cached_page)
				return NULL;
		}