Re: [RFC][PATCH] memcg soft limit (yet another new design) v1

From: Balbir Singh
Date: Tue Mar 31 2009 - 02:49:44 EST


* KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2009-03-31 15:28:43]:

> On Tue, 31 Mar 2009 11:40:10 +0530
> Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
>
> > > > Swapout for A? For A it is expected, but for B it is not. How many
> > > > nodes do you have on your machine? Any fake numa nodes?
> > > >
> > > Of course, from B.
> > >
> >
> > I asked because I see A have a swapout of 350 MB, which is expected
> > since it is way over its soft limit.
> >
> gcc doesn't use so much RSS..ld ?

Yes, the ld step consumes a lot of memory, depending on file size and
number of parallel tasks, memory consumption does go up.

>
> > > Nothing special boot options. My test was on VMware 2cpus/1.6GB memory.
> > >
> > > I wonder why swapout can be 0 on your test. Do you add some extra hooks to
> > > kswapd ?
> > >
> >
> > Nope.. no special hooks to kswapd. B never enters the RB-Tree and thus
> > never hits the memcg soft limit reclaim path. kswapd can reclaim from
> > it, but it grows back quickly.
> Why grows back ? tasks in B sleeps ?

Since B continuously consumes memory

>
> > At some point, memcg soft limit reclaim
> > hits A and reclaims memory from it, allowing B to run without any
> > problems. I am talking about the state at the end of the experiment.
> >
> Considering LRU rotation (ACTIVE->INACTIVE), pages in group B never goes back
> to ACTIVE list and can be the first candidates for swap-out via kswapd.
>
> Hmm....kswapd doesn't work at all ?
>
> (or 1700MB was too much.)
>

No 1700MB is not too much, since we reclaim from A towards the end
when ld runs. I need to investigate more and look at the watermarks,
may be soft limit reclaim reclaims enough and/or the watermarks are
not very high. I use fake NUMA nodes as well.

> Thanks,
> -Kame
>
>

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