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

From: Michal Hocko
Date: Mon Mar 28 2011 - 05:48:28 EST


On Mon 28-03-11 18:11:27, KAMEZAWA Hiroyuki wrote:
> On Mon, 28 Mar 2011 09:43:42 +0200
> Michal Hocko <mhocko@xxxxxxx> wrote:
>
> > On Mon 28-03-11 13:25:50, Daisuke Nishimura wrote:
> > > From: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx>
[...]
> > > +5.5 usage_in_bytes
> > > +
> > > +As described in 2.1, memory cgroup uses res_counter for tracking and limiting
> > > +the memory usage. memory.usage_in_bytes shows the current res_counter usage for
> > > +memory, and DOESN'T show a actual usage of RSS and Cache. It is usually bigger
> > > +than the actual usage for a performance improvement reason.
> >
> > Isn't an explicit mention about caching charges better?
> >
>
> It's difficult to distinguish which is spec. and which is implemnation details...

Sure. At least commit log should contain the implementation details IMO,
though.

>
> My one here ;)
> ==
> 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 usage, it's an fuzz value for efficient
> access. (Of course, when necessary, it's synchronized.)
> In usual, the value (RSS+CACHE) in memory.stat shows more exact value. IOW,

- In usual, the value (RSS+CACHE) in memory.stat shows more exact value. IOW,
+ (RSS+CACHE) value from memory.stat shows more exact value and should be used
+ by userspace. IOW,

?

> usage_in_bytes is less exact than memory.stat. The error will be larger on the larger
> hardwares which have many cpus and tasks.
> ==
>
> Hmm ?

Looks much better.

Thanks
--
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/