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

This is a discussion on [RFC][-mm] [2/2] Simple stats for memory resource controller - Kernel ; This patch implements trivial statistics for the memory resource controller. Signed-off-by: Balaji Rao CC: Balbir Singh CC: Dhaval Giani 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, /* ...

+ Reply to Thread
Results 1 to 4 of 4

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

  1. [RFC][-mm] [2/2] Simple stats for memory resource controller

    This patch implements trivial statistics for the memory resource controller.

    Signed-off-by: Balaji Rao
    CC: Balbir Singh
    CC: Dhaval Giani


    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,
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

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

    Paul Menage wrote:
    > On Wed, Mar 26, 2008 at 11:18 AM, Balaji Rao wrote:
    >> [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, },
    >> };
    >>

    >
    > Should these be called "pgpgin" and "pgpgout" for consistency with /proc/vmstat?
    >
    > Paul


    Yes, that is a good name. We also want to instantaneous metrics like
    page_in_count per second and page_out_count per second to help the administrator
    monitor what is going on within the tasks in the cgroup w.r.t. memory.


    --
    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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

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

    Balaji Rao wrote:
    > This patch implements trivial statistics for the memory resource controller.
    >
    > Signed-off-by: Balaji Rao
    > CC: Balbir Singh
    > CC: Dhaval Giani
    >
    >
    > 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,


    Looks simple and nice. Please see Paul's mail on the suggested name change as well

    Acked-by: Balbir Singh


    --
    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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

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

    On Wed, Mar 26, 2008 at 11:18 AM, Balaji Rao wrote:
    > [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, },
    > };
    >


    Should these be called "pgpgin" and "pgpgout" for consistency with /proc/vmstat?

    Paul
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread