Re: [RFC][-mm] [2/2] Simple stats for memory resource controller

From: Balbir Singh
Date: Sun Apr 06 2008 - 02:25:09 EST


Balaji Rao wrote:
> 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 a860765..ca98b21 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -47,6 +47,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_PGPGIN_COUNT, /* # of pages paged in */
> + MEM_CGROUP_STAT_PGPGOUT_COUNT, /* # of pages paged out */
>
> MEM_CGROUP_STAT_NSTATS,
> };
> @@ -198,6 +200,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_PGPGIN_COUNT, 1);
> + else
> + __mem_cgroup_stat_add_safe(stat,
> + MEM_CGROUP_STAT_PGPGOUT_COUNT, 1);
> }
>
> static struct mem_cgroup_per_zone *
> @@ -897,6 +906,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_PGPGIN_COUNT] = {"pgpgin", 1, },
> + [MEM_CGROUP_STAT_PGPGOUT_COUNT] = {"pgpgout", 1, },
> };
>
> static int mem_control_stat_show(struct cgroup *cont, struct cftype *cft,
>

Looks good to me. I wonder if pgpin/pggout per second will be a useful metric,
to see how fast things are changing within the cgroup.

Acked-by: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>

Let me test this patch right away.

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/