Re: [PATCH v2] memcg: update documentation to describeusage_in_bytes

From: Daisuke Nishimura
Date: Tue Apr 19 2011 - 19:37:56 EST


Hi,

On Tue, 19 Apr 2011 14:14:14 +0200
Michal Hocko <mhocko@xxxxxxx> wrote:

> 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?
>
Ouch! Thank you for your reminding me..

I'll resend this to Andrew soon.

Thanks,
Daisuke Nishimura.
--
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/