Re: [v8 3/4] mm, oom: add cgroup v2 mount option for cgroup-aware OOM killer

David Rientjes
2017-09-12T20:23:00Z

On Tue, 12 Sep 2017, Roman Gushchin wrote:

> > I can't imagine that Tejun would be happy with a new mount option,
> > especially when it's not required.
> >
> > OOM behavior does not need to be defined at mount time and for the entire
> > hierarchy. It's possible to very easily implement a tunable as part of
> > mem cgroup that is propagated to descendants and controls the oom scoring
> > behavior for that hierarchy. It does not need to be system wide and
> > affect scoring of all processes based on which mem cgroup they are
> > attached to at any given time.
>
> No, I don't think that mixing per-cgroup and per-process OOM selection
> algorithms is a good idea.
>
> So, there are 3 reasonable options:
> 1) boot option
> 2) sysctl
> 3) cgroup mount option
>
> I believe, 3) is better, because it allows changing the behavior dynamically,
> and explicitly depends on v2 (what sysctl lacks).
>
> So, the only question is should it be opt-in or opt-out option.
> Personally, I would prefer opt-out, but Michal has a very strong opinion here.
>

If it absolutely must be a mount option, then I would agree it should be
opt-in so that it's known what is being changed rather than changing how
selection was done in the past and requiring legacy users to now mount in
a new way.

I'd be interested to hear Tejun's comments, however, about whether we want
to add controller specific mount options like this instead of a tunable at
the root level, for instance, that controls victim selection and would be
isolated to the memory cgroup controller as opposed to polluting mount
options.