Re: [patch -mm 3/4] mm, memcg: replace memory.oom_group with policy tunable

From: Andrew Morton
Date: Wed Jan 24 2018 - 17:08:12 EST


On Wed, 24 Jan 2018 13:44:02 -0800 (PST) David Rientjes <rientjes@xxxxxxxxxx> wrote:

> On Wed, 24 Jan 2018, Michal Hocko wrote:
>
> > > The current implementation of memory.oom_group is based on top of a
> > > selection implementation that is broken in three ways I have listed for
> > > months:
> >
> > This doesn't lead to anywhere. You are not presenting any new arguments
> > and you are ignoring feedback you have received so far. We have tried
> > really hard. Considering different _independent_ people presented more or
> > less consistent view on these points I think you should deeply
> > reconsider how you take that feedback.
> >

Please let's remember that people/process issues are unrelated to the
technical desirability of a proposed change. IOW, assertions along the
lines of "person X is being unreasonable" do little to affect a merge
decision.

> I've responded to each email providing useful feedback on this patchset.
> I agreed with Tejun about not embedding the oom mechanism into
> memory.oom_policy. I was trying to avoid having two files in the mem
> cgroup v2 filesystem for oom policy and mechanism. I agreed that
> delegating the mechanism to the workload would be useful in some cases.
> I've solicited feedback on any other opinions on how that can be done
> better, but it appears another tunable is the most convenient way of
> allowing this behavior to be specified.
>
> As a result, this would remove patch 3/4 from the series. Do you have any
> other feedback regarding the remainder of this patch series before I
> rebase it?
>
> I will address the unfair root mem cgroup vs leaf mem cgroup comparison in
> a separate patchset to fix an issue where any user of oom_score_adj on a
> system that is not fully containerized gets very unusual, unexpected, and
> undocumented results.
>

Can we please try to narrow the scope of this issue by concentrating on
the userspace interfaces? David believes that the mount option and
memory.oom_group will disappear again in the near future, others
disagree.

What do we do about that? For example, would it really be a big
problem to continue to support those interfaces in a future iteration
of this feature? Or is it possible to omit them from this version of
the feature? Or is it possible to modify them in some fashion so they
will be better compatible with a future iteration of this feature?

I'm OK with merging a probably-partial feature, expecting it to be
enhanced in the future. What I have a problem with is merging user
interfaces which will be removed or altered in the future. Please
solve this problem for me.