Re: [PATCH v2] memcg: update documentation to describe usage_in_bytes

From: Michal Hocko
Date: Tue Apr 19 2011 - 08:14:22 EST


Hi,

On Tue 29-03-11 09:21:22, Michal Hocko wrote:
> On Tue 29-03-11 10:15:11, Daisuke Nishimura wrote:
> [...]
> > From: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx>
> >
> > Since 569b846d(memcg: coalesce uncharge during unmap/truncate), we do batched
> > (delayed) uncharge at truncation/unmap. And since cdec2e42(memcg: coalesce
> > charging via percpu storage), we have percpu cache for res_counter.
> >
> > These changes improved performance of memory cgroup very much, but made
> > res_counter->usage usually have a bigger value than the actual value of memory usage.
> > So, *.usage_in_bytes, which show res_counter->usage, are not desirable for precise
> > values of memory(and swap) usage anymore.
> >
> > Instead of removing these files completely(because we cannot know res_counter->usage
> > without them), this patch updates the meaning of those files.
> >
> > Signed-off-by: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx>
> > ---
> > Documentation/cgroups/memory.txt | 15 +++++++++++++--
> > 1 files changed, 13 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
> > index 7781857..4f49d91 100644
> > --- a/Documentation/cgroups/memory.txt
> > +++ b/Documentation/cgroups/memory.txt
> > @@ -52,8 +52,10 @@ Brief summary of control files.
> > tasks # attach a task(thread) and show list of threads
> > cgroup.procs # show list of processes
> > cgroup.event_control # an interface for event_fd()
> > - memory.usage_in_bytes # show current memory(RSS+Cache) usage.
> > - memory.memsw.usage_in_bytes # show current memory+Swap usage
> > + memory.usage_in_bytes # show current res_counter usage for memory
> > + (See 5.5 for details)
> > + memory.memsw.usage_in_bytes # show current res_counter usage for memory+Swap
> > + (See 5.5 for details)
> > memory.limit_in_bytes # set/show limit of memory usage
> > memory.memsw.limit_in_bytes # set/show limit of memory+Swap usage
> > memory.failcnt # show the number of memory usage hits limits
> > @@ -453,6 +455,15 @@ memory under it will be reclaimed.
> > You can reset failcnt by writing 0 to failcnt file.
> > # echo 0 > .../memory.failcnt
> >
> > +5.5 usage_in_bytes
> > +
> > +For efficiency, as other kernel components, memory cgroup uses some optimization
> > +to avoid unnecessary cacheline false sharing. usage_in_bytes is affected by the
> > +method and doesn't show 'exact' value of memory(and swap) usage, it's an fuzz
> > +value for efficient access. (Of course, when necessary, it's synchronized.)
> > +If you want to know more exact memory usage, you should use RSS+CACHE(+SWAP)
> > +value in memory.stat(see 5.2).
> > +
> > 6. Hierarchy support
> >
> > The memory controller supports a deep hierarchy and hierarchical accounting.
>
> Acked-by: Michal Hocko <mhocko@xxxxxxx>
>
> Although I would like to see a mention about what is the reason for
> keeping that file(s) if their usage is very limited. Something like.
> "We are keeping the file because we want to be consistent with other
> cgroups implementations and all of them export usage counter in some
> way. Make sure you exactly know the meaning before you use the value
> in userspace."
>
> If nobody else feels that this is that important then please forget
> about this comment.

I am wondering what happened to the patch. Do you have any plans to
update/push it?

--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic
--
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/