This patch implements trivial statistics for the memory resource controller.

Signed-off-by: Balaji Rao <[EMAIL PROTECTED]>
CC: Balbir Singh <[EMAIL PROTECTED]>
CC: Dhaval Giani <[EMAIL PROTECTED]>


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
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to