Re: [RESEND v12 0/6] cgroup-aware OOM killer

From: David Rientjes
Date: Thu Oct 26 2017 - 17:03:54 EST


On Thu, 26 Oct 2017, Johannes Weiner wrote:

> > The nack is for three reasons:
> >
> > (1) unfair comparison of root mem cgroup usage to bias against that mem
> > cgroup from oom kill in system oom conditions,
> >
> > (2) the ability of users to completely evade the oom killer by attaching
> > all processes to child cgroups either purposefully or unpurposefully,
> > and
> >
> > (3) the inability of userspace to effectively control oom victim
> > selection.
>
> My apologies if my summary was too reductionist.
>
> That being said, the arguments you repeat here have come up in
> previous threads and been responded to. This doesn't change my
> conclusion that your NAK is bogus.
>

They actually haven't been responded to, Roman was working through v11 and
made a change on how the root mem cgroup usage was calculated that was
better than previous iterations but still not an apples to apples
comparison with other cgroups. The problem is that it the calculation for
leaf cgroups includes additional memory classes, so it biases against
processes that are moved to non-root mem cgroups. Simply creating mem
cgroups and attaching processes should not independently cause them to
become more preferred: it should be a fair comparison between the root mem
cgroup and the set of leaf mem cgroups as implemented. That is very
trivial to do with hierarchical oom cgroup scoring.

Since the ability of userspace to control oom victim selection is not
addressed whatsoever by this patchset, and the suggested method cannot be
implemented on top of this patchset as you have argued because it requires
a change to the heuristic itself, the patchset needs to become complete
before being mergeable.