Re: [PATCH] memcg, oom: move out_of_memory back to the charge path

From: Michal Hocko
Date: Fri Jun 29 2018 - 03:21:39 EST


On Thu 28-06-18 16:19:07, Greg Thelen wrote:
> Michal Hocko <mhocko@xxxxxxxxxx> wrote:
[...]
> > + if (mem_cgroup_out_of_memory(memcg, mask, order))
> > + return OOM_SUCCESS;
> > +
> > + WARN(1,"Memory cgroup charge failed because of no reclaimable memory! "
> > + "This looks like a misconfiguration or a kernel bug.");
>
> I'm not sure here if the warning should here or so strongly worded. It
> seems like the current task could be oom reaped with MMF_OOM_SKIP and
> thus mem_cgroup_out_of_memory() will return false. So there's nothing
> alarming in that case.

If the task is reaped then its charges should be released as well and
that means that we should get below the limit. Sure there is some room
for races but this should be still unlikely. Maybe I am just
underestimating though.

What would you suggest instead?
--
Michal Hocko
SUSE Labs