summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill@shutemov.name>2009-12-15 16:47:01 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2009-12-18 14:05:27 -0800
commit3dac78c65b4c503199f1ef157e2934eea33425e8 (patch)
treec27b3714774216b59722f01c997ec1ac7fcda5f0
parente8d9252227536dc8bd4e2d254d16b5feef542496 (diff)
downloadlwn-3dac78c65b4c503199f1ef157e2934eea33425e8.tar.gz
lwn-3dac78c65b4c503199f1ef157e2934eea33425e8.zip
memcg: fix memory.memsw.usage_in_bytes for root cgroup
commit cd9b45b78a61e8df250e69385c74e729e5b66abf upstream. A memory cgroup has a memory.memsw.usage_in_bytes file. It shows the sum of the usage of pages and swapents in the cgroup. Presently the root cgroup's memsw.usage_in_bytes shows the wrong value - the number of swapents are not added. So take MEM_CGROUP_STAT_SWAPOUT into account. Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Reviewed-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--mm/memcontrol.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index f99f5991d6bb..63140151b618 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2541,6 +2541,7 @@ static u64 mem_cgroup_read(struct cgroup *cont, struct cftype *cft)
val += idx_val;
mem_cgroup_get_recursive_idx_stat(mem,
MEM_CGROUP_STAT_SWAPOUT, &idx_val);
+ val += idx_val;
val <<= PAGE_SHIFT;
} else
val = res_counter_read_u64(&mem->memsw, name);