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

From: Balbir Singh
Date: Tue Mar 31 2009 - 02:11:21 EST


* KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2009-03-31 14:05:02]:

> On Tue, 31 Mar 2009 10:30:55 +0530
> Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
>
> > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2009-03-31 08:55:38]:
> >
> > > On Sat, 28 Mar 2009 23:57:47 +0530
> > > Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > > * Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> [2009-03-28 23:41:00]:
> > > >
> > > > > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2009-03-27 13:59:33]:
> > > > >
> > > > > > ==brief test result==
> > > > > > On 2CPU/1.6GB bytes machine. create group A and B
> > > > > > A. soft limit=300M
> > > > > > B. no soft limit
> > > > > >
> > > > > > Run a malloc() program on B and allcoate 1G of memory. The program just
> > > > > > sleeps after allocating memory and no memory refernce after it.
> > > > > > Run make -j 6 and compile the kernel.
> > > > > >
> > > > > > When vm.swappiness = 60 => 60MB of memory are swapped out from B.
> > > > > > When vm.swappiness = 10 => 1MB of memory are swapped out from B
> > > > > >
> > > > > > If no soft limit, 350MB of swap out will happen from B.(swapiness=60)
> > > > > >
> > > > >
> > > > > I ran the same tests, booted the machine with mem=1700M and maxcpus=2
> > > > >
> > > > > Here is what I see with
> > > >
> > > > I meant to say, Here is what I see with my patches (v7)
> > > >
> > > Hmm, I saw 250MB of swap out ;) As I reported before.
> >
> > 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.

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



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