Re: [PATCH 2/7] memcg: remove MEMCG_NR_FILE_MAPPED
From: Greg Thelen <hidden>
Date: 2012-07-09 21:01:24
Also in:
linux-mm, lkml
On Thu, Jun 28 2012, Sha Zhengju wrote:
quoted hunk ↗ jump to hunk
From: Sha Zhengju <redacted> While accounting memcg page stat, it's not worth to use MEMCG_NR_FILE_MAPPED as an extra layer of indirection because of the complexity and presumed performance overhead. We can use MEM_CGROUP_STAT_FILE_MAPPED directly. Signed-off-by: Sha Zhengju <redacted> --- include/linux/memcontrol.h | 25 +++++++++++++++++-------- mm/memcontrol.c | 24 +----------------------- mm/rmap.c | 4 ++-- 3 files changed, 20 insertions(+), 33 deletions(-)diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 83e7ba9..20b0f2d 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h@@ -27,9 +27,18 @@ struct page_cgroup; struct page; struct mm_struct; -/* Stats that can be updated by kernel. */ -enum mem_cgroup_page_stat_item { - MEMCG_NR_FILE_MAPPED, /* # of pages charged as file rss */ +/* + * Statistics for memory cgroup. + */ +enum mem_cgroup_stat_index { + /* + * For MEM_CONTAINER_TYPE_ALL, usage = pagecache + rss. + */ + MEM_CGROUP_STAT_CACHE, /* # of pages charged as cache */ + MEM_CGROUP_STAT_RSS, /* # of pages charged as anon rss */ + MEM_CGROUP_STAT_FILE_MAPPED, /* # of pages charged as file rss */ + MEM_CGROUP_STAT_SWAP, /* # of pages, swapped out */ + MEM_CGROUP_STAT_NSTATS, };
Nit. Moving mem_cgroup_stat_index from memcontrol.c to memcontrol.h is fine with me. But this does increase the distance between related defintions of definition mem_cgroup_stat_index and mem_cgroup_stat_names. These two lists have to be kept in sync. So it might help to add a comment to both indicating their relationship so we don't accidentally modify the enum without updating the dependent string table. Otherwise, looks good. Reviewed-by: Greg Thelen <redacted>