mbox series

[v2,0/3] introduce memory.oom.group

Message ID 20180802003201.817-1-guro@fb.com (mailing list archive)
Headers show
Series introduce memory.oom.group | expand

Message

Roman Gushchin Aug. 2, 2018, 12:31 a.m. UTC
This is a tiny implementation of cgroup-aware OOM killer,
which adds an ability to kill a cgroup as a single unit
and so guarantee the integrity of the workload.

Although it has only a limited functionality in comparison
to what now resides in the mm tree (it doesn't change
the victim task selection algorithm, doesn't look
at memory stas on cgroup level, etc), it's also much
simpler and more straightforward. So, hopefully, we can
avoid having long debates here, as we had with the full
implementation.

As it doesn't prevent any futher development,
and implements an useful and complete feature,
it looks as a sane way forward.

v2->v1:
  - added dmesg message about killing all tasks in cgroup
  - removed an unnecessary check for memcg being NULL pointer
  - adjusted docs and commit message
  - rebased to linus/master

--

This patchset is against Linus's tree to avoid conflicts
with the cgroup-aware OOM killer patchset in the mm tree.
It's intended to replace it.

Two first patches are already in the mm tree.
The first one ("mm: introduce mem_cgroup_put() helper")
is totally fine.
Commit message of the second one has to be changed to reflect
that it's not a part of the old patchset anymore.

Roman Gushchin (3):
  mm: introduce mem_cgroup_put() helper
  mm, oom: refactor oom_kill_process()
  mm, oom: introduce memory.oom.group

 Documentation/admin-guide/cgroup-v2.rst |  18 ++++
 include/linux/memcontrol.h              |  27 ++++++
 mm/memcontrol.c                         |  93 +++++++++++++++++++
 mm/oom_kill.c                           | 153 ++++++++++++++++++++------------
 4 files changed, 233 insertions(+), 58 deletions(-)