This patch implements trivial statistics for the memory resource controller. Signed-off-by: Balaji Rao <balajirrao@xxxxxxxxx> CC: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> CC: Dhaval Giani <dhaval@xxxxxxxxxxxxxxxxxx> diff --git a/mm/memcontrol.c b/mm/memcontrol.c index eb681a6..84f3fe5 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -45,6 +45,8 @@ enum mem_cgroup_stat_index { */ MEM_CGROUP_STAT_CACHE, /* # of pages charged as cache */ MEM_CGROUP_STAT_RSS, /* # of pages charged as rss */ + MEM_CGROUP_STAT_PGIN_COUNT, /* # of pages paged in */ + MEM_CGROUP_STAT_PGOUT_COUNT, /* # of pages paged out */ MEM_CGROUP_STAT_NSTATS, }; @@ -196,6 +198,13 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *mem, int flags, __mem_cgroup_stat_add_safe(stat, MEM_CGROUP_STAT_CACHE, val); else __mem_cgroup_stat_add_safe(stat, MEM_CGROUP_STAT_RSS, val); + + if (charge) + __mem_cgroup_stat_add_safe(stat, + MEM_CGROUP_STAT_PGIN_COUNT, 1); + else + __mem_cgroup_stat_add_safe(stat, + MEM_CGROUP_STAT_PGOUT_COUNT, 1); } static struct mem_cgroup_per_zone * @@ -886,6 +895,8 @@ static const struct mem_cgroup_stat_desc { } mem_cgroup_stat_desc[] = { [MEM_CGROUP_STAT_CACHE] = { "cache", PAGE_SIZE, }, [MEM_CGROUP_STAT_RSS] = { "rss", PAGE_SIZE, }, + [MEM_CGROUP_STAT_PGIN_COUNT] = {"page_in_count", 1, }, + [MEM_CGROUP_STAT_PGOUT_COUNT] = {"page_out_count", 1, }, }; static int mem_control_stat_show(struct cgroup *cont, struct cftype *cft, _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers