From: Michal Hocko <mhocko@suse.cz> To: Johannes Weiner <hannes@cmpxchg.org>, Andrew Morton <akpm@linux-foundation.org>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Greg Thelen <gthelen@google.com>, Michel Lespinasse <walken@google.com>, Tejun Heo <tj@kernel.org>, Hugh Dickins <hughd@google.com>, Roman Gushchin <klamm@yandex-team.ru>, LKML <linux-kernel@vger.kernel.org>, <linux-mm@kvack.org> Subject: [PATCH 3/4] memcg, doc: clarify global vs. limit reclaims Date: Mon, 28 Apr 2014 14:26:44 +0200 [thread overview] Message-ID: <1398688005-26207-4-git-send-email-mhocko@suse.cz> (raw) In-Reply-To: <1398688005-26207-1-git-send-email-mhocko@suse.cz> Be explicit about global and hard limit reclaims in our documentation. Signed-off-by: Michal Hocko <mhocko@suse.cz> --- Documentation/cgroups/memory.txt | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt index 4937e6fff9b4..add1be001416 100644 --- a/Documentation/cgroups/memory.txt +++ b/Documentation/cgroups/memory.txt @@ -236,23 +236,26 @@ it by cgroup. 2.5 Reclaim Each cgroup maintains a per cgroup LRU which has the same structure as -global VM. When a cgroup goes over its limit, we first try -to reclaim memory from the cgroup so as to make space for the new -pages that the cgroup has touched. If the reclaim is unsuccessful, -an OOM routine is invoked to select and kill the bulkiest task in the -cgroup. (See 10. OOM Control below.) - -The reclaim algorithm has not been modified for cgroups, except that -pages that are selected for reclaiming come from the per-cgroup LRU -list. - -NOTE: Reclaim does not work for the root cgroup, since we cannot set any -limits on the root cgroup. +global VM. Cgroups can get reclaimed basically under two conditions + - under global memory pressure when all cgroups are reclaimed + proportionally wrt. their LRU size in a round robin fashion + - when a cgroup or its hierarchical parent (see 6. Hierarchical support) + hits hard limit. If the reclaim is unsuccessful, an OOM routine is invoked + to select and kill the bulkiest task in the cgroup. (See 10. OOM Control + below.) + +Global and hard-limit reclaims share the same code the only difference +is the objective of the reclaim. The global reclaim aims at balancing +zones' watermarks while the limit reclaim frees some memory to allow new +charges. + +NOTE: Hard limit reclaim does not work for the root cgroup, since we cannot set +any limits on the root cgroup. Note2: When panic_on_oom is set to "2", the whole system will panic. -When oom event notifier is registered, event will be delivered. -(See oom_control section) +When oom event notifier is registered, event will be delivered to the root +of the memory pressure which cannot be handled (See oom_control section) 2.6 Locking -- 2.0.0.rc0
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@suse.cz> To: Johannes Weiner <hannes@cmpxchg.org>, Andrew Morton <akpm@linux-foundation.org>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Greg Thelen <gthelen@google.com>, Michel Lespinasse <walken@google.com>, Tejun Heo <tj@kernel.org>, Hugh Dickins <hughd@google.com>, Roman Gushchin <klamm@yandex-team.ru>, LKML <linux-kernel@vger.kernel.org>, linux-mm@kvack.org Subject: [PATCH 3/4] memcg, doc: clarify global vs. limit reclaims Date: Mon, 28 Apr 2014 14:26:44 +0200 [thread overview] Message-ID: <1398688005-26207-4-git-send-email-mhocko@suse.cz> (raw) In-Reply-To: <1398688005-26207-1-git-send-email-mhocko@suse.cz> Be explicit about global and hard limit reclaims in our documentation. Signed-off-by: Michal Hocko <mhocko@suse.cz> --- Documentation/cgroups/memory.txt | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt index 4937e6fff9b4..add1be001416 100644 --- a/Documentation/cgroups/memory.txt +++ b/Documentation/cgroups/memory.txt @@ -236,23 +236,26 @@ it by cgroup. 2.5 Reclaim Each cgroup maintains a per cgroup LRU which has the same structure as -global VM. When a cgroup goes over its limit, we first try -to reclaim memory from the cgroup so as to make space for the new -pages that the cgroup has touched. If the reclaim is unsuccessful, -an OOM routine is invoked to select and kill the bulkiest task in the -cgroup. (See 10. OOM Control below.) - -The reclaim algorithm has not been modified for cgroups, except that -pages that are selected for reclaiming come from the per-cgroup LRU -list. - -NOTE: Reclaim does not work for the root cgroup, since we cannot set any -limits on the root cgroup. +global VM. Cgroups can get reclaimed basically under two conditions + - under global memory pressure when all cgroups are reclaimed + proportionally wrt. their LRU size in a round robin fashion + - when a cgroup or its hierarchical parent (see 6. Hierarchical support) + hits hard limit. If the reclaim is unsuccessful, an OOM routine is invoked + to select and kill the bulkiest task in the cgroup. (See 10. OOM Control + below.) + +Global and hard-limit reclaims share the same code the only difference +is the objective of the reclaim. The global reclaim aims at balancing +zones' watermarks while the limit reclaim frees some memory to allow new +charges. + +NOTE: Hard limit reclaim does not work for the root cgroup, since we cannot set +any limits on the root cgroup. Note2: When panic_on_oom is set to "2", the whole system will panic. -When oom event notifier is registered, event will be delivered. -(See oom_control section) +When oom event notifier is registered, event will be delivered to the root +of the memory pressure which cannot be handled (See oom_control section) 2.6 Locking -- 2.0.0.rc0 -- 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:[~2014-04-28 12:28 UTC|newest] Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-04-28 12:26 [PATCH v2 0/4] memcg: Low-limit reclaim Michal Hocko 2014-04-28 12:26 ` Michal Hocko 2014-04-28 12:26 ` [PATCH 1/4] memcg, mm: introduce lowlimit reclaim Michal Hocko 2014-04-28 12:26 ` Michal Hocko 2014-04-30 22:55 ` Johannes Weiner 2014-04-30 22:55 ` Johannes Weiner 2014-05-02 9:36 ` Michal Hocko 2014-05-02 9:36 ` Michal Hocko 2014-05-02 12:07 ` Michal Hocko 2014-05-02 12:07 ` Michal Hocko 2014-05-02 13:01 ` Johannes Weiner 2014-05-02 13:01 ` Johannes Weiner 2014-05-02 14:15 ` Michal Hocko 2014-05-02 14:15 ` Michal Hocko 2014-05-02 15:04 ` Johannes Weiner 2014-05-02 15:04 ` Johannes Weiner 2014-05-02 15:11 ` Michal Hocko 2014-05-02 15:11 ` Michal Hocko 2014-05-02 15:34 ` Johannes Weiner 2014-05-02 15:34 ` Johannes Weiner 2014-05-02 15:48 ` Michal Hocko 2014-05-02 15:48 ` Michal Hocko 2014-05-06 19:58 ` Michal Hocko 2014-05-06 19:58 ` Michal Hocko 2014-05-02 15:58 ` Johannes Weiner 2014-05-02 15:58 ` Johannes Weiner 2014-05-02 16:49 ` Michal Hocko 2014-05-02 16:49 ` Michal Hocko 2014-05-02 22:00 ` Johannes Weiner 2014-05-02 22:00 ` Johannes Weiner 2014-05-05 14:21 ` Michal Hocko 2014-05-05 14:21 ` Michal Hocko 2014-05-19 16:18 ` Michal Hocko 2014-05-19 16:18 ` Michal Hocko 2014-06-11 15:15 ` Johannes Weiner 2014-06-11 15:15 ` Johannes Weiner 2014-06-11 16:08 ` Michal Hocko 2014-06-11 16:08 ` Michal Hocko 2014-05-06 13:29 ` Johannes Weiner 2014-05-06 14:32 ` Michal Hocko 2014-05-06 14:32 ` Michal Hocko 2014-05-06 15:21 ` Johannes Weiner 2014-05-06 15:21 ` Johannes Weiner 2014-05-06 16:12 ` Michal Hocko 2014-05-06 16:12 ` Michal Hocko 2014-05-06 16:51 ` Johannes Weiner 2014-05-06 16:51 ` Johannes Weiner 2014-05-06 18:30 ` Michal Hocko 2014-05-06 18:30 ` Michal Hocko 2014-05-06 19:55 ` Johannes Weiner 2014-05-06 19:55 ` Johannes Weiner 2014-04-28 12:26 ` [PATCH 2/4] memcg: Allow setting low_limit Michal Hocko 2014-04-28 12:26 ` Michal Hocko 2014-04-28 12:26 ` Michal Hocko [this message] 2014-04-28 12:26 ` [PATCH 3/4] memcg, doc: clarify global vs. limit reclaims Michal Hocko 2014-04-30 23:03 ` Johannes Weiner 2014-04-30 23:03 ` Johannes Weiner 2014-05-02 9:43 ` Michal Hocko 2014-05-02 9:43 ` Michal Hocko 2014-05-06 19:56 ` Michal Hocko 2014-05-06 19:56 ` Michal Hocko 2014-04-28 12:26 ` [PATCH 4/4] memcg: Document memory.low_limit_in_bytes Michal Hocko 2014-04-28 12:26 ` Michal Hocko 2014-04-30 22:57 ` Johannes Weiner 2014-04-30 22:57 ` Johannes Weiner 2014-05-02 9:46 ` Michal Hocko 2014-05-02 9:46 ` Michal Hocko 2014-04-28 15:46 ` [PATCH v2 0/4] memcg: Low-limit reclaim Roman Gushchin 2014-04-28 15:46 ` Roman Gushchin 2014-04-29 7:42 ` Greg Thelen 2014-04-29 7:42 ` Greg Thelen 2014-04-29 10:50 ` Roman Gushchin 2014-04-29 10:50 ` Roman Gushchin 2014-04-29 12:54 ` Michal Hocko 2014-04-29 12:54 ` Michal Hocko 2014-04-30 21:52 ` Andrew Morton 2014-04-30 21:52 ` Andrew Morton 2014-04-30 22:49 ` Johannes Weiner 2014-04-30 22:49 ` Johannes Weiner 2014-05-02 12:03 ` Michal Hocko 2014-05-02 12:03 ` Michal Hocko 2014-04-30 21:59 ` Andrew Morton 2014-04-30 21:59 ` Andrew Morton 2014-05-02 11:22 ` Michal Hocko 2014-05-02 11:22 ` Michal Hocko 2014-05-28 12:10 ` Michal Hocko 2014-05-28 12:10 ` Michal Hocko 2014-05-28 13:49 ` Johannes Weiner 2014-05-28 13:49 ` Johannes Weiner 2014-05-28 14:21 ` Michal Hocko 2014-05-28 14:21 ` Michal Hocko 2014-05-28 15:28 ` Johannes Weiner 2014-05-28 15:28 ` Johannes Weiner 2014-05-28 15:54 ` Michal Hocko 2014-05-28 15:54 ` Michal Hocko 2014-05-28 16:33 ` Johannes Weiner 2014-05-28 16:33 ` Johannes Weiner 2014-06-03 11:07 ` Michal Hocko 2014-06-03 11:07 ` Michal Hocko 2014-06-03 14:22 ` Johannes Weiner 2014-06-03 14:22 ` Johannes Weiner 2014-06-04 14:46 ` Michal Hocko 2014-06-04 14:46 ` Michal Hocko 2014-06-04 15:44 ` Johannes Weiner 2014-06-04 15:44 ` Johannes Weiner 2014-06-04 19:18 ` Hugh Dickins 2014-06-04 19:18 ` Hugh Dickins 2014-06-04 21:45 ` Johannes Weiner 2014-06-04 21:45 ` Johannes Weiner 2014-06-05 14:51 ` Michal Hocko 2014-06-05 14:51 ` Michal Hocko 2014-06-05 16:10 ` Johannes Weiner 2014-06-05 16:10 ` Johannes Weiner 2014-06-05 16:43 ` Michal Hocko 2014-06-05 16:43 ` Michal Hocko 2014-06-05 18:23 ` Johannes Weiner 2014-06-05 18:23 ` Johannes Weiner 2014-06-06 14:44 ` Michal Hocko 2014-06-06 14:44 ` Michal Hocko 2014-06-06 14:46 ` [PATCH 1/2] mm, memcg: allow OOM if no memcg is eligible during direct reclaim Michal Hocko 2014-06-06 14:46 ` Michal Hocko 2014-06-06 14:46 ` [PATCH 2/2] memcg: Allow hard guarantee mode for low limit reclaim Michal Hocko 2014-06-06 14:46 ` Michal Hocko 2014-06-06 15:29 ` Tejun Heo 2014-06-06 15:29 ` Tejun Heo 2014-06-06 15:34 ` Tejun Heo 2014-06-06 15:34 ` Tejun Heo 2014-06-09 8:30 ` Michal Hocko 2014-06-09 8:30 ` Michal Hocko 2014-06-09 13:54 ` Tejun Heo 2014-06-09 13:54 ` Tejun Heo 2014-06-09 22:52 ` Greg Thelen 2014-06-09 22:52 ` Greg Thelen 2014-06-10 16:57 ` Johannes Weiner 2014-06-10 16:57 ` Johannes Weiner 2014-06-10 22:16 ` Greg Thelen 2014-06-10 22:16 ` Greg Thelen 2014-06-11 7:57 ` Michal Hocko 2014-06-11 7:57 ` Michal Hocko 2014-06-11 8:00 ` [PATCH 1/2] mm, memcg: allow OOM if no memcg is eligible during direct reclaim Michal Hocko 2014-06-11 8:00 ` Michal Hocko 2014-06-11 8:00 ` [PATCH 2/2] memcg: Allow guarantee reclaim Michal Hocko 2014-06-11 8:00 ` Michal Hocko 2014-06-11 15:36 ` Johannes Weiner 2014-06-11 15:36 ` Johannes Weiner 2014-06-12 13:22 ` Michal Hocko 2014-06-12 13:22 ` Michal Hocko 2014-06-12 13:56 ` Johannes Weiner 2014-06-12 13:56 ` Johannes Weiner 2014-06-12 14:22 ` Michal Hocko 2014-06-12 14:22 ` Michal Hocko 2014-06-12 16:17 ` Tejun Heo 2014-06-12 16:17 ` Tejun Heo 2014-06-16 12:59 ` Michal Hocko 2014-06-16 12:59 ` Michal Hocko 2014-06-16 13:57 ` Tejun Heo 2014-06-16 13:57 ` Tejun Heo 2014-06-16 14:04 ` Michal Hocko 2014-06-16 14:04 ` Michal Hocko 2014-06-16 14:12 ` Tejun Heo 2014-06-16 14:12 ` Tejun Heo 2014-06-16 14:29 ` Michal Hocko 2014-06-16 14:29 ` Michal Hocko 2014-06-16 14:40 ` Tejun Heo 2014-06-16 14:40 ` Tejun Heo 2014-06-12 16:51 ` Johannes Weiner 2014-06-12 16:51 ` Johannes Weiner 2014-06-16 13:22 ` Michal Hocko 2014-06-16 13:22 ` Michal Hocko 2014-06-11 15:20 ` [PATCH 1/2] mm, memcg: allow OOM if no memcg is eligible during direct reclaim Johannes Weiner 2014-06-11 15:20 ` Johannes Weiner 2014-06-11 16:14 ` Michal Hocko 2014-06-11 16:14 ` Michal Hocko 2014-06-11 12:31 ` [PATCH 2/2] memcg: Allow hard guarantee mode for low limit reclaim Tejun Heo 2014-06-11 12:31 ` Tejun Heo 2014-06-11 14:11 ` Michal Hocko 2014-06-11 14:11 ` Michal Hocko 2014-06-11 15:34 ` Tejun Heo 2014-06-11 15:34 ` Tejun Heo 2014-06-05 19:36 ` [PATCH v2 0/4] memcg: Low-limit reclaim Tejun Heo 2014-06-05 19:36 ` Tejun Heo 2014-06-05 14:32 ` Michal Hocko 2014-06-05 14:32 ` Michal Hocko 2014-06-05 15:43 ` Johannes Weiner 2014-06-05 15:43 ` Johannes Weiner 2014-06-05 16:09 ` Michal Hocko 2014-06-05 16:09 ` Michal Hocko 2014-06-05 16:46 ` Johannes Weiner 2014-06-05 16:46 ` Johannes Weiner 2014-05-28 16:17 ` Greg Thelen 2014-05-28 16:17 ` Greg Thelen 2014-06-03 11:09 ` Michal Hocko 2014-06-03 11:09 ` Michal Hocko 2014-06-03 14:01 ` Greg Thelen 2014-06-03 14:44 ` Michal Hocko 2014-06-03 14:44 ` Michal Hocko
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=1398688005-26207-4-git-send-email-mhocko@suse.cz \ --to=mhocko@suse.cz \ --cc=akpm@linux-foundation.org \ --cc=gthelen@google.com \ --cc=hannes@cmpxchg.org \ --cc=hughd@google.com \ --cc=kamezawa.hiroyu@jp.fujitsu.com \ --cc=klamm@yandex-team.ru \ --cc=kosaki.motohiro@jp.fujitsu.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=tj@kernel.org \ --cc=walken@google.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: linkBe 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.