Re: [PATCH] memcg, thp: do not invoke oom killer on thp charges

From: David Rientjes
Date: Fri Mar 23 2018 - 05:26:45 EST


On Fri, 23 Mar 2018, Michal Hocko wrote:

> > Examples of where this isn't already done? It certainly wasn't a problem
> > before __GFP_NORETRY was dropped in commit 2516035499b9 but you suspect
> > it's a problem now.
>
> It is not a problem _right now_ as I've already pointed out few
> times. We do not trigger the OOM killer for anything but #PF path. But
> this is an implementation detail which can change in future and there is
> actually some demand for the change. Once we start triggering the oom
> killer for all charges then we do not really want to have the disparity.
>

Ok, my patch is only addressing the code as it sits today, not any
theoretical code in the future. The fact remains that the
PAGE_ALLOC_COSTLY_ORDER and high_zoneidx test for lowmem allocations in
the allocation path are because oom killing is unlikely to free contiguous
pages and lowmem, respectively. We wouldn't avoid oom kill in memcg just
because a charge is __GFP_DMA. We shouldn't avoid oom kill in memcg just
because the order is PAGE_ALLOC_COSTLY_ORDER: it's about contiguous
memory, not about amount of memory. I believe you understand that and so
I'm optimistic that we are good in closing this thread out. Thanks.