Re: Android low memory killer vs. memory pressure notifications

From: Anton Vorontsov
Date: Mon Dec 19 2011 - 21:16:52 EST


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