Re: [PATCH -mm] Shared Page accounting for memory cgroup (v2)

From: KAMEZAWA Hiroyuki
Date: Tue Jan 05 2010 - 22:59:20 EST


On Wed, 6 Jan 2010 09:19:34 +0530
Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:

> * KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2010-01-06 12:18:36]:
>
> > On Wed, 6 Jan 2010 08:37:52 +0530
> > Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2010-01-06 09:07:08]:
> > >
> > > > On Wed, 6 Jan 2010 00:22:26 +0530
> > > > Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > > Hi, All,
> > > > >
> > > > > No major changes from v1, except for the use of get_mm_rss().
> > > > > Kamezawa-San felt that this can be done in user space and I responded
> > > > > to him with my concerns of doing it in user space. The thread
> > > > > can be found at http://thread.gmane.org/gmane.linux.kernel.mm/42367.
> > > > >
> > > > > If there are no major objections, can I ask for a merge into -mm.
> > > > > Andrew, the patches are against mmotm 10 December 2009, if there
> > > > > are some merge conflicts, please let me know, I can rebase after
> > > > > you release the next mmotm.
> > > > >
> > > >
> > > > The problem is that this isn't "shared" uasge but "considered to be shared"
> > > > usage. Okay ?
> > > >
> > >
> > > Could you give me your definition of "shared". From the mem cgroup
> > > perspective, total_rss (which is accumulated) subtracted from the
> > > count of pages in the LRU which are RSS and FILE_MAPPED is shared, no?
> >
> > You consider only "mapped" pages are shared page. That's wrong.
> > And let's think about your "total_rss - RSS+MAPPED"
> >
> > In this typical case,
> > fork() ---- process(A)
> > -> fork() --- process(B)
> > -> process(C)
> >
> > total_rss = rss(A) + rss(B) + rss(C) = 3 * rss(A)
> > Then,
> >
> > total_rss - RSS_MAPPED = 2 * rss(A).
> >
> > How we call this number ? Is this "shared usage" ? I think no.
>
> Why not? The pages in LRU is rss(A) and the total usage is 3*rss(A),
> shared does not imply shared outside the cgroup. Why do you say it is
> not shared?
>
If "shared" means "shared with other cgroup", I'll say "Oh, this is really
helpful". Usual novice user will think "shared" means "shared with other
cgroup".

Again, "shared of cgroup" should be "shared between cgroup" not
"shared between process".

Thanks,
-Kame




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