lkml.org 
[lkml]   [2009]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH] memcg soft limit (yet another new design) v1
On Sun, 29 Mar 2009 18:31:38 +0530
Balbir Singh <balbir@linux.vnet.ibm.com> wrote:

> >
> > - Inactive/Active rotation scheme of global LRU will be broken.
> >
> > - File/Anon reclaim ratio scheme of global LRU will be broken.
> > - vm.swappiness will be ignored.
> >
>
> Not true, with my patches none of these are affected since the reclaim
> for soft limits is limited to mem cgroup LRU lists only. Zone reclaim
> that happens in parallel can of-course change the global LRU.
>
> > - If using memcg's memory reclaim routine,
> > - shrink_slab() will be never called.
> > - stale SwapCache has no chance to be reclaimed (stale SwapCache means
> > readed but not used one.)
> > - memcg can have no memory in a zone.
> > - memcg can have no Anon memory
> > - lumpty_reclaim() is not called.
> >
> >
> > This patch tries to avoid to use existing memcg's reclaim routine and
> > just tell "Hints" to global LRU. This patch is briefly tested and shows
> > good result to me. (But may not to you. plz brame me.)
> >
>
> I don't like the results, they are functionaly broken (see my other
> email). Why should "B" get reclaimed from if it is not above its soft
> limit? Why is there a swapout from "B"?
>
I explained in other mail.




>
> > Major characteristic is.
> > - memcg will be inserted to softlimit-queue at charge() if usage excess
> > soft limit.
> > - softlimit-queue is a queue with priority. priority is detemined by size
> > of excessing usage.
> > - memcg's soft limit hooks is called by shrink_xxx_list() to show hints.
> > - Behavior is affected by vm.swappiness and LRU scan rate is determined by
> > global LRU's status.
> >
> > I'm sorry that I'm tend not to tell enough explanation. plz ask me.
> > There will be much discussion points, anyway. As usual, I'm not in hurry.
> >
>
> The code seems to add a lot of complexity and does not achieve expected
> functionality. I am going to start testing this series soon
>



> >
> > ==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'll try much more complexed ones in the weekend.
>
> Please see my response to this test result in a previous email.
>
you too, I repoted to your thread one week ago,

Thanks,
-Kame

> --
> Balbir



\
 
 \ /
  Last update: 2009-03-31 02:01    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site