summaryrefslogtreecommitdiff
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorMartin Hicks <mort@sgi.com>2005-06-22 00:14:42 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-22 01:46:14 (GMT)
commit0c35bbadc59f5ed105c34471143eceb4c0dd9c95 (patch)
treed82de388e8c0a38fa4b1d27ad372e84c9f01e013 /mm/page_alloc.c
parent753ee728964e5afb80c17659cc6c3a6fd0a42fe0 (diff)
downloadlinux-0c35bbadc59f5ed105c34471143eceb4c0dd9c95.tar.xz
[PATCH] VM: add __GFP_NORECLAIM
When using the early zone reclaim, it was noticed that allocating new pages that should be spread across the whole system caused eviction of local pages. This adds a new GFP flag to prevent early reclaim from happening during certain allocation attempts. The example that is implemented here is for page cache pages. We want page cache pages to be spread across the whole system, and we don't want page cache pages to evict other pages to get local memory. Signed-off-by: Martin Hicks <mort@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 3c0f69d..a9da20b 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -729,6 +729,8 @@ should_reclaim_zone(struct zone *z, unsigned int gfp_mask)
{
if (!z->reclaim_pages)
return 0;
+ if (gfp_mask & __GFP_NORECLAIM)
+ return 0;
return 1;
}