Re: [PATCH] mm: memcontrol: eliminate root memory.current

From: Johannes Weiner
Date: Thu Oct 22 2015 - 08:29:55 EST


On Thu, Oct 22, 2015 at 11:07:56AM +0200, Michal Hocko wrote:
> On Wed 21-10-15 14:49:54, Johannes Weiner wrote:
> > memory.current on the root level doesn't add anything that wouldn't be
> > more accurate and detailed using system statistics. It already doesn't
> > include slabs, and it'll be a pain to keep in sync when further memory
> > types are accounted in the memory controller. Remove it.
> >
> > Note that this applies to the new unified hierarchy interface only.
>
> OK, I can understand your reasoning, other knobs are !root as well.
>
> > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
>
> After the bug mentioned below is fixed
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>

Thanks!

> > @@ -5022,7 +5022,7 @@ static void mem_cgroup_bind(struct cgroup_subsys_state *root_css)
> > static u64 memory_current_read(struct cgroup_subsys_state *css,
> > struct cftype *cft)
> > {
> > - return mem_cgroup_usage(mem_cgroup_from_css(css), false);
> > + return page_counter_read(&mem_cgroup_from_css(css)->memory);
>
> We want that in bytes though.

Right you are, thanks for catching that.

Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
---
mm/memcontrol.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index c71fe40..2cd149e 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5022,7 +5022,9 @@ static void mem_cgroup_bind(struct cgroup_subsys_state *root_css)
static u64 memory_current_read(struct cgroup_subsys_state *css,
struct cftype *cft)
{
- return page_counter_read(&mem_cgroup_from_css(css)->memory);
+ struct mem_cgroup *memcg = mem_cgroup_from_css(css);
+
+ return (u64)page_counter_read(&memcg->memory) * PAGE_SIZE;
}

static int memory_low_show(struct seq_file *m, void *v)
--
2.6.1
--
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/