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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]