From: Roman Gushchin <guro@fb.com>
To: linux-mm@kvack.org
Cc: Roman Gushchin <guro@fb.com>, Michal Hocko <mhocko@kernel.org>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
David Rientjes <rientjes@google.com>,
Andrew Morton <akpm@linux-foundation.org>,
Tejun Heo <tj@kernel.org>,
kernel-team@fb.com, cgroups@vger.kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [v7 0/5] cgroup-aware OOM killer
Date: Mon, 4 Sep 2017 15:21:03 +0100 [thread overview]
Message-ID: <20170904142108.7165-1-guro@fb.com> (raw)
This patchset makes the OOM killer cgroup-aware.
v7:
- __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
v6:
- 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
v5:
- 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
v4:
- 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
v3:
- Merged commits 1-4 into 6
- Separated oom_score_adj logic and debug output into separate commits
- Fixed swap accounting
v2:
- 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
v1:
https://lkml.org/lkml/2017/5/18/969
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: kernel-team@fb.com
Cc: cgroups@vger.kernel.org
Cc: linux-doc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org
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(-)
--
2.13.5
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Roman Gushchin <guro@fb.com>
To: <linux-mm@kvack.org>
Cc: Roman Gushchin <guro@fb.com>, Michal Hocko <mhocko@kernel.org>,
Vladimir Davydov <vdavydov.dev@gmail.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
David Rientjes <rientjes@google.com>,
Andrew Morton <akpm@linux-foundation.org>,
Tejun Heo <tj@kernel.org>, <kernel-team@fb.com>,
<cgroups@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: [v7 0/5] cgroup-aware OOM killer
Date: Mon, 4 Sep 2017 15:21:03 +0100 [thread overview]
Message-ID: <20170904142108.7165-1-guro@fb.com> (raw)
This patchset makes the OOM killer cgroup-aware.
v7:
- __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
v6:
- 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
v5:
- 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
v4:
- 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
v3:
- Merged commits 1-4 into 6
- Separated oom_score_adj logic and debug output into separate commits
- Fixed swap accounting
v2:
- 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
v1:
https://lkml.org/lkml/2017/5/18/969
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: kernel-team@fb.com
Cc: cgroups@vger.kernel.org
Cc: linux-doc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org
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(-)
--
2.13.5
next reply other threads:[~2017-09-04 14:21 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-04 14:21 Roman Gushchin [this message]
2017-09-04 14:21 ` [v7 0/5] cgroup-aware OOM killer Roman Gushchin
2017-09-04 14:21 ` [v7 1/5] mm, oom: refactor the oom_kill_process() function Roman Gushchin
2017-09-04 14:21 ` Roman Gushchin
2017-09-05 13:34 ` Michal Hocko
2017-09-05 13:34 ` Michal Hocko
2017-09-04 14:21 ` [v7 2/5] mm, oom: cgroup-aware OOM killer Roman Gushchin
2017-09-04 14:21 ` Roman Gushchin
[not found] ` <20170904142108.7165-3-guro-b10kYP2dOMg@public.gmane.org>
2017-09-05 14:57 ` Michal Hocko
2017-09-05 14:57 ` Michal Hocko
2017-09-05 14:57 ` Michal Hocko
2017-09-05 20:23 ` Roman Gushchin
2017-09-05 20:23 ` Roman Gushchin
2017-09-06 8:31 ` Michal Hocko
2017-09-06 8:31 ` Michal Hocko
2017-09-06 12:57 ` Roman Gushchin
2017-09-06 12:57 ` Roman Gushchin
2017-09-06 12:57 ` Roman Gushchin
2017-09-06 13:22 ` Michal Hocko
2017-09-06 13:22 ` Michal Hocko
2017-09-06 13:22 ` Michal Hocko
2017-09-06 13:41 ` Roman Gushchin
2017-09-06 13:41 ` Roman Gushchin
2017-09-06 13:41 ` Roman Gushchin
2017-09-06 14:10 ` Michal Hocko
2017-09-06 14:10 ` Michal Hocko
2017-09-06 8:34 ` Michal Hocko
2017-09-06 8:34 ` Michal Hocko
2017-09-06 12:33 ` Roman Gushchin
2017-09-06 12:33 ` Roman Gushchin
2017-09-06 12:33 ` Roman Gushchin
2017-09-07 16:18 ` Christopher Lameter
2017-09-07 16:18 ` Christopher Lameter
2017-09-11 8:49 ` Michal Hocko
2017-09-11 8:49 ` Michal Hocko
2017-09-11 8:49 ` Michal Hocko
2017-09-04 14:21 ` [v7 3/5] mm, oom: introduce oom_priority for memory cgroups Roman Gushchin
2017-09-04 14:21 ` Roman Gushchin
2017-09-04 14:21 ` [v7 4/5] mm, oom, docs: describe the cgroup-aware OOM killer Roman Gushchin
2017-09-04 14:21 ` Roman Gushchin
2017-09-04 14:21 ` [v7 5/5] mm, oom: cgroup v2 mount option to disable " Roman Gushchin
2017-09-04 14:21 ` Roman Gushchin
2017-09-04 14:21 ` Roman Gushchin
[not found] ` <20170904142108.7165-6-guro-b10kYP2dOMg@public.gmane.org>
2017-09-04 17:32 ` Shakeel Butt
2017-09-04 17:32 ` Shakeel Butt
2017-09-04 17:32 ` Shakeel Butt
2017-09-04 17:51 ` Roman Gushchin
2017-09-04 17:51 ` Roman Gushchin
2017-09-04 17:51 ` Roman Gushchin
2017-09-05 13:44 ` Michal Hocko
2017-09-05 13:44 ` Michal Hocko
2017-09-05 14:30 ` Roman Gushchin
2017-09-05 14:30 ` Roman Gushchin
2017-09-05 14:30 ` Roman Gushchin
2017-09-05 15:12 ` Michal Hocko
2017-09-05 15:12 ` Michal Hocko
[not found] ` <20170905151251.luh4wogjd3msfqgf-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2017-09-05 19:16 ` Roman Gushchin
2017-09-05 19:16 ` Roman Gushchin
2017-09-05 19:16 ` Roman Gushchin
[not found] ` <20170905191609.GA19687-2xczL/1GIl5a1dPMsufgnw2O0Ztt9esIQQ4Iyu8u01E@public.gmane.org>
2017-09-06 8:42 ` Michal Hocko
2017-09-06 8:42 ` Michal Hocko
2017-09-06 8:42 ` Michal Hocko
2017-09-06 17:40 ` Roman Gushchin
2017-09-06 17:40 ` Roman Gushchin
2017-09-06 17:40 ` Roman Gushchin
[not found] ` <20170906174043.GA12579-B3w7+ongkCiLfgCeKHXN1g2O0Ztt9esIQQ4Iyu8u01E@public.gmane.org>
2017-09-06 17:59 ` Michal Hocko
2017-09-06 17:59 ` Michal Hocko
2017-09-06 17:59 ` Michal Hocko
2017-09-06 20:59 ` David Rientjes
2017-09-06 20:59 ` David Rientjes
2017-09-06 20:59 ` David Rientjes
2017-09-07 14:43 ` Christopher Lameter
2017-09-07 14:52 ` Roman Gushchin
2017-09-07 14:52 ` Roman Gushchin
[not found] ` <20170907145239.GA19022-B3w7+ongkCiLfgCeKHXN1g2O0Ztt9esIQQ4Iyu8u01E@public.gmane.org>
2017-09-07 15:03 ` Christopher Lameter
2017-09-07 15:03 ` Christopher Lameter
2017-09-07 16:42 ` Roman Gushchin
2017-09-07 16:42 ` Roman Gushchin
2017-09-07 16:42 ` Roman Gushchin
2017-09-07 17:03 ` Christopher Lameter
2017-09-07 21:55 ` David Rientjes
2017-09-07 21:55 ` David Rientjes
2017-09-07 16:21 ` Christopher Lameter
2017-09-07 16:21 ` Christopher Lameter
2017-09-05 21:53 ` Johannes Weiner
2017-09-05 21:53 ` Johannes Weiner
2017-09-06 8:28 ` Michal Hocko
2017-09-06 8:28 ` Michal Hocko
2017-09-06 8:28 ` Michal Hocko
2017-09-07 16:14 ` Johannes Weiner
2017-09-07 16:14 ` Johannes Weiner
2017-09-11 9:05 ` Michal Hocko
2017-09-11 9:05 ` Michal Hocko
2017-09-11 12:50 ` Roman Gushchin
2017-09-11 12:50 ` Roman Gushchin
2017-09-11 12:50 ` Roman Gushchin
2017-09-07 16:27 ` Christopher Lameter
2017-09-07 22:03 ` David Rientjes
2017-09-07 22:03 ` David Rientjes
2017-09-08 21:07 ` Christopher Lameter
2017-09-09 8:45 ` David Rientjes
2017-09-09 8:45 ` 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=20170904142108.7165-1-guro@fb.com \
--to=guro@fb.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--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=rientjes@google.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.