aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2011-01-13 18:47:39 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-13 20:32:50 -0500
commitf3e8eb70b1807d1b30aa6972af0cf30077c40112 (patch)
tree5b541e4850fa6a9922b288e9efd7c632021657f6 /mm
parentdbd4ea78f002df283c95d9774837041735fa1bf9 (diff)
memcg: fix unit mismatch in memcg oom limit calculation
Adding the number of swap pages to the byte limit of a memory control group makes no sense. Convert the pages to bytes before adding them. The only user of this code is the OOM killer, and the way it is used means that the error results in a higher OOM badness value. Since the cgroup limit is the same for all tasks in the cgroup, the error should have no practical impact at the moment. But let's not wait for future or changing users to trip over it. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Greg Thelen <gthelen@google.com> Cc: David Rientjes <rientjes@google.com> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Balbir Singh <balbir@in.ibm.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> 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.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index d888956a2cfc..9f8ad77f091b 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1312,8 +1312,9 @@ u64 mem_cgroup_get_limit(struct mem_cgroup *memcg)
1312 u64 limit; 1312 u64 limit;
1313 u64 memsw; 1313 u64 memsw;
1314 1314
1315 limit = res_counter_read_u64(&memcg->res, RES_LIMIT) + 1315 limit = res_counter_read_u64(&memcg->res, RES_LIMIT);
1316 total_swap_pages; 1316 limit += total_swap_pages << PAGE_SHIFT;
1317
1317 memsw = res_counter_read_u64(&memcg->memsw, RES_LIMIT); 1318 memsw = res_counter_read_u64(&memcg->memsw, RES_LIMIT);
1318 /* 1319 /*
1319 * If memsw is finite and limits the amount of swap space available 1320 * If memsw is finite and limits the amount of swap space available