aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@engr.sgi.com>2006-03-24 06:15:59 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-24 10:33:22 -0500
commit0b1303fcf23678ee1785841fb0c770a35cd0833c (patch)
tree78b90c2766f8468b39363bd4525ebaa9b192aa8f
parent95c3832272fc77ea3e31f6382f82ba17be985cc7 (diff)
[PATCH] cpusets: only wakeup kswapd for zones in the current cpuset
If we get under some memory pressure in a cpuset (we only scan zones that are in the cpuset for memory) then kswapd is woken up for all zones. This patch only wakes up kswapd in zones that are part of the current cpuset. Signed-off-by: Christoph Lameter <clameter@sgi.com> Acked-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--mm/page_alloc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index b7f14a4799a5..a5c3f8bd98ae 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -943,7 +943,8 @@ restart:
943 goto got_pg; 943 goto got_pg;
944 944
945 do { 945 do {
946 wakeup_kswapd(*z, order); 946 if (cpuset_zone_allowed(*z, gfp_mask))
947 wakeup_kswapd(*z, order);
947 } while (*(++z)); 948 } while (*(++z));
948 949
949 /* 950 /*