Messages in this thread | | | Date | Tue, 20 Dec 2011 06:16:47 +0400 | From | Anton Vorontsov <> | Subject | Re: Android low memory killer vs. memory pressure notifications |
| |
On Mon, Dec 19, 2011 at 01:12:55PM +0100, Michal Hocko wrote: > [Didn't get to the patch yet but a comment on memcg] > > On Mon 19-12-11 06:53:28, Anton Vorontsov wrote: > [...] > > - Use memory controller cgroup (CGROUP_MEM_RES_CTLR) notifications from > > the kernel side, plus userland "manager" that would kill applications. > > > > The main downside of this approach is that mem_cg needs 20 bytes per > > page (on a 32 bit machine). So on a 32 bit machine with 4K pages > > that's approx. 0.5% of RAM, or, in other words, 5MB on a 1GB machine. > > page_cgroup is 16B per page and with the current Johannes' memcg > naturalization work (in the mmotm tree) we are down to 8B per page (we > got rid of lru). Kamezawa has some patches to get rid of the flags so we > will be down to 4B per page on 32b. Is this still too much? > I would be really careful about a yet another lowmem notification > mechanism.
4 bytes (1MB wastage on a 1GB machine) sounds much better. If there are no other downsides of using cgroups-based low memory killer, then maybe it's not worth doing yet another low memory notification stuff.
> > 0.5% doesn't sound too bad, but 5MB does, quite a little bit. So, > > mem_cg feels like an overkill for this simple task (see the driver at > > the very bottom). > > Why is it an overkill? I think that having 2 groups (active and > inactive) and move tasks between then sounds quite elegant.
Yep, that was the original idea. But back then mem_cg was way too costly, so nobody seriously considered this as a solution.
Thanks,
-- Anton Vorontsov Email: cbouatmailru@gmail.com
| |