[lkml]   [2017]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[v7 0/5] cgroup-aware OOM killer
This patchset makes the OOM killer cgroup-aware.

- __oom_kill_process() drops reference to the victim task
- oom_score_adj -1000 is always respected
- Renamed oom_kill_all to oom_group
- Dropped oom_prio range, converted from short to int
- Added a cgroup v2 mount option to disable cgroup-aware OOM killer
- Docs updated
- Rebased on top of mmotm

- Renamed oom_control.chosen to oom_control.chosen_task
- Renamed oom_kill_all_tasks to oom_kill_all
- Per-node NR_SLAB_UNRECLAIMABLE accounting
- Several minor fixes and cleanups
- Docs updated

- Rebased on top of Michal Hocko's patches, which have changed the
way how OOM victims becoming an access to the memory
reserves. Dropped corresponding part of this patchset
- Separated the oom_kill_process() splitting into a standalone commit
- Added debug output (suggested by David Rientjes)
- Some minor fixes

- Reworked per-cgroup oom_score_adj into oom_priority
(based on ideas by David Rientjes)
- Tasks with oom_score_adj -1000 are never selected if
oom_kill_all_tasks is not set
- Memcg victim selection code is reworked, and
synchronization is based on finding tasks with OOM victim marker,
rather then on global counter
- Debug output is dropped
- Refactored TIF_MEMDIE usage

- Merged commits 1-4 into 6
- Separated oom_score_adj logic and debug output into separate commits
- Fixed swap accounting

- Reworked victim selection based on feedback
from Michal Hocko, Vladimir Davydov and Johannes Weiner
- "Kill all tasks" is now an opt-in option, by default
only one process will be killed
- Added per-cgroup oom_score_adj
- Refined oom score calculations, suggested by Vladimir Davydov
- Converted to a patchset


Cc: Michal Hocko <>
Cc: Vladimir Davydov <>
Cc: Johannes Weiner <>
Cc: Tetsuo Handa <>
Cc: David Rientjes <>
Cc: Andrew Morton <>
Cc: Tejun Heo <>

Roman Gushchin (5):
mm, oom: refactor the oom_kill_process() function
mm, oom: cgroup-aware OOM killer
mm, oom: introduce oom_priority for memory cgroups
mm, oom, docs: describe the cgroup-aware OOM killer
mm, oom: cgroup v2 mount option to disable cgroup-aware OOM killer

Documentation/admin-guide/kernel-parameters.txt | 1 +
Documentation/cgroup-v2.txt | 56 +++++
include/linux/memcontrol.h | 36 +++
include/linux/oom.h | 12 +-
mm/memcontrol.c | 293 ++++++++++++++++++++++++
mm/oom_kill.c | 209 +++++++++++------
6 files changed, 537 insertions(+), 70 deletions(-)


 \ /
  Last update: 2017-09-04 16:23    [W:0.124 / U:4.464 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site