summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorDaisuke Nishimura <nishimura@mxp.nes.nec.co.jp>2009-01-07 18:08:13 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-08 08:31:07 -0800
commit670ec2f170301425fc4fdfa63d40652071fe85f6 (patch)
tree37a25cfc34c3ddada5bbb428cf1d4842ed30df1f /mm
parenta7fe942e94b2f66aa0f11d37699c0ec8155d3ad1 (diff)
memcg: hierarchy avoid unnecessary reclaim
If hierarchy is not used, no tree-walk is necessary. Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Balbir Singh <balbir@in.ibm.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Hugh Dickins <hugh@veritas.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/memcontrol.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 964a70035e8..9b4993ee46b 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -606,6 +606,8 @@ static int mem_cgroup_hierarchical_reclaim(struct mem_cgroup *root_mem,
ret = try_to_free_mem_cgroup_pages(root_mem, gfp_mask, noswap);
if (mem_cgroup_check_under_limit(root_mem))
return 0;
+ if (!root_mem->use_hierarchy)
+ return ret;
next_mem = mem_cgroup_get_first_node(root_mem);