From: David Rientjes <rientjes@google.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Tejun Heo <tj@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Roman Gushchin <guro@fb.com>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
kernel-team@fb.com, cgroups@vger.kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: Re: [patch -mm 3/4] mm, memcg: replace memory.oom_group with policy tunable
Date: Tue, 23 Jan 2018 14:22:07 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.10.1801231416330.254281@chino.kir.corp.google.com> (raw)
In-Reply-To: <20180123155301.GS1526@dhcp22.suse.cz>
On Tue, 23 Jan 2018, Michal Hocko wrote:
> > It can't, because the current patchset locks the system into a single
> > selection criteria that is unnecessary and the mount option would become a
> > no-op after the policy per subtree becomes configurable by the user as
> > part of the hierarchy itself.
>
> This is simply not true! OOM victim selection has changed in the
> past and will be always a subject to changes in future. Current
> implementation doesn't provide any externally controlable selection
> policy and therefore the default can be assumed. Whatever that default
> means now or in future. The only contract added here is the kill full
> memcg if selected and that can be implemented on _any_ selection policy.
>
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:
- allows users to intentionally/unintentionally evade the oom killer,
requires not locking the selection implementation for the entire
system, requires subtree control to prevent, makes a mount option
obsolete, and breaks existing users who would use the implementation
based on 4.16 if this were merged,
- unfairly compares the root mem cgroup vs leaf mem cgroup such that
users must structure their hierarchy only for 4.16 in such a way
that _all_ processes are under hierarchical control and have no
power to create sub cgroups because of the point above and
completely breaks any user of oom_score_adj in a completely
undocumented and unspecified way, such that fixing that breakage
would also break any existing users who would use the implementation
based on 4.16 if this were merged, and
- does not allow userspace to protect important cgroups, which can be
built on top.
I'm focused on fixing the breakage in the first two points since it
affects the API and we don't want to switch that out from the user. I
have brought these points up repeatedly and everybody else has actively
disengaged from development, so I'm proposing incremental changes that
make the cgroup aware oom killer have a sustainable API and isn't useful
only for a highly specialized usecase where everything is containerized,
nobody can create subcgroups, and nobody uses oom_score_adj to break the
root mem cgroup accounting.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2018-01-23 22:22 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-17 2:14 [patch -mm 0/4] mm, memcg: introduce oom policies David Rientjes
2018-01-17 2:15 ` [patch -mm 1/4] mm, memcg: introduce per-memcg oom policy tunable David Rientjes
2018-01-17 2:15 ` [patch -mm 2/4] mm, memcg: replace cgroup aware oom killer mount option with tunable David Rientjes
2018-01-17 2:15 ` [patch -mm 3/4] mm, memcg: replace memory.oom_group with policy tunable David Rientjes
2018-01-17 15:41 ` Tejun Heo
2018-01-17 16:00 ` Michal Hocko
2018-01-17 22:18 ` David Rientjes
2018-01-23 15:13 ` Michal Hocko
2018-01-17 22:14 ` David Rientjes
2018-01-19 20:53 ` David Rientjes
2018-01-20 12:32 ` Tejun Heo
2018-01-22 22:34 ` David Rientjes
2018-01-23 15:53 ` Michal Hocko
2018-01-23 22:22 ` David Rientjes [this message]
2018-01-24 8:20 ` Michal Hocko
2018-01-24 21:44 ` David Rientjes
2018-01-24 22:08 ` Andrew Morton
2018-01-24 22:18 ` Tejun Heo
2018-01-25 8:11 ` Michal Hocko
2018-01-25 8:05 ` Michal Hocko
2018-01-25 23:27 ` David Rientjes
2018-01-26 10:07 ` Michal Hocko
2018-01-26 22:33 ` David Rientjes
2018-01-17 2:15 ` [patch -mm 4/4] mm, memcg: add hierarchical usage oom policy David Rientjes
2018-01-17 11:46 ` [patch -mm 0/4] mm, memcg: introduce oom policies Roman Gushchin
2018-01-17 22:31 ` David Rientjes
2018-01-25 23:53 ` [patch -mm v2 0/3] " David Rientjes
2018-01-25 23:53 ` [patch -mm v2 1/3] mm, memcg: introduce per-memcg oom policy tunable David Rientjes
2018-01-26 17:15 ` Michal Hocko
2018-01-29 22:38 ` David Rientjes
2018-01-30 8:50 ` Michal Hocko
2018-01-30 22:38 ` David Rientjes
2018-01-31 9:47 ` Michal Hocko
2018-02-01 10:11 ` David Rientjes
2018-01-25 23:53 ` [patch -mm v2 2/3] mm, memcg: replace cgroup aware oom killer mount option with tunable David Rientjes
2018-01-26 0:00 ` Andrew Morton
2018-01-26 22:20 ` David Rientjes
2018-01-26 22:39 ` Andrew Morton
2018-01-26 22:52 ` David Rientjes
2018-01-27 0:17 ` Andrew Morton
2018-01-29 10:46 ` Michal Hocko
2018-01-29 19:11 ` Tejun Heo
2018-01-30 8:54 ` Michal Hocko
2018-01-30 11:58 ` Roman Gushchin
2018-01-30 12:08 ` Michal Hocko
2018-01-30 12:13 ` Roman Gushchin
2018-01-30 12:20 ` Michal Hocko
2018-01-30 15:15 ` Tejun Heo
2018-01-30 17:30 ` Johannes Weiner
2018-01-30 19:39 ` Andrew Morton
2018-01-29 22:16 ` David Rientjes
2018-01-25 23:53 ` [patch -mm v2 3/3] mm, memcg: add hierarchical usage oom policy David Rientjes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.10.1801231416330.254281@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=kernel-team@fb.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=tj@kernel.org \
--cc=vdavydov.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox