From: Johannes Weiner <hannes@cmpxchg.org> To: Michal Hocko <mhocko@suse.cz> Cc: Greg Thelen <gthelen@google.com>, Hugh Dickins <hughd@google.com>, Andrew Morton <akpm@linux-foundation.org>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Michel Lespinasse <walken@google.com>, Tejun Heo <tj@kernel.org>, Roman Gushchin <klamm@yandex-team.ru>, linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 2/2] memcg: Allow guarantee reclaim Date: Thu, 12 Jun 2014 09:56:00 -0400 [thread overview] Message-ID: <20140612135600.GI2878@cmpxchg.org> (raw) In-Reply-To: <20140612132207.GA32720@dhcp22.suse.cz> On Thu, Jun 12, 2014 at 03:22:07PM +0200, Michal Hocko wrote: > On Wed 11-06-14 11:36:31, Johannes Weiner wrote: > [...] > > This code is truly dreadful. > > > > Don't call it guarantee when it doesn't guarantee anything. I thought > > we agreed that min, low, high, max, is reasonable nomenclature, please > > use it consistently. > > I can certainly change the internal naming. I will use your wmark naming > suggestion. Cool, thanks. > > With my proposed cleanups and scalability fixes in the other mail, the > > vmscan.c changes to support the min watermark would be something like > > the following. > > The semantic is, however, much different as pointed out in the other email. > The following on top of you cleanup will lead to the same deadlock > described in 1st patch (mm, memcg: allow OOM if no memcg is eligible > during direct reclaim). I'm currently reworking shrink_zones() and getting rid of all_unreclaimable() etc. to remove the code duplication. > Anyway, the situation now is pretty chaotic. I plan to gather all the > patchse posted so far and repost for the future discussion. I just need > to finish some internal tasks and will post it soon. That would be great, thanks, it's really hard to follow this stuff halfway in and halfway outside of -mm. Now that we roughly figured out what knobs and semantics we want, it would be great to figure out the merging logistics. I would prefer if we could introduce max, high, low, min in unified hierarchy, and *only* in there, so that we never have to worry about it coexisting and interacting with the existing hard and soft limit. It would also be beneficial to introduce them all close to each other, develop them together, possibly submit them in the same patch series, so that we know the requirements and how the code should look like in the big picture and can offer a fully consistent and documented usage model in the unified hierarchy. Does that make sense?
WARNING: multiple messages have this Message-ID (diff)
From: Johannes Weiner <hannes@cmpxchg.org> To: Michal Hocko <mhocko@suse.cz> Cc: Greg Thelen <gthelen@google.com>, Hugh Dickins <hughd@google.com>, Andrew Morton <akpm@linux-foundation.org>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Michel Lespinasse <walken@google.com>, Tejun Heo <tj@kernel.org>, Roman Gushchin <klamm@yandex-team.ru>, linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 2/2] memcg: Allow guarantee reclaim Date: Thu, 12 Jun 2014 09:56:00 -0400 [thread overview] Message-ID: <20140612135600.GI2878@cmpxchg.org> (raw) In-Reply-To: <20140612132207.GA32720@dhcp22.suse.cz> On Thu, Jun 12, 2014 at 03:22:07PM +0200, Michal Hocko wrote: > On Wed 11-06-14 11:36:31, Johannes Weiner wrote: > [...] > > This code is truly dreadful. > > > > Don't call it guarantee when it doesn't guarantee anything. I thought > > we agreed that min, low, high, max, is reasonable nomenclature, please > > use it consistently. > > I can certainly change the internal naming. I will use your wmark naming > suggestion. Cool, thanks. > > With my proposed cleanups and scalability fixes in the other mail, the > > vmscan.c changes to support the min watermark would be something like > > the following. > > The semantic is, however, much different as pointed out in the other email. > The following on top of you cleanup will lead to the same deadlock > described in 1st patch (mm, memcg: allow OOM if no memcg is eligible > during direct reclaim). I'm currently reworking shrink_zones() and getting rid of all_unreclaimable() etc. to remove the code duplication. > Anyway, the situation now is pretty chaotic. I plan to gather all the > patchse posted so far and repost for the future discussion. I just need > to finish some internal tasks and will post it soon. That would be great, thanks, it's really hard to follow this stuff halfway in and halfway outside of -mm. Now that we roughly figured out what knobs and semantics we want, it would be great to figure out the merging logistics. I would prefer if we could introduce max, high, low, min in unified hierarchy, and *only* in there, so that we never have to worry about it coexisting and interacting with the existing hard and soft limit. It would also be beneficial to introduce them all close to each other, develop them together, possibly submit them in the same patch series, so that we know the requirements and how the code should look like in the big picture and can offer a fully consistent and documented usage model in the unified hierarchy. Does that make sense? -- 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-06-12 13:56 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 ` [PATCH 3/4] memcg, doc: clarify global vs. limit reclaims Michal Hocko 2014-04-28 12:26 ` 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 [this message] 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=20140612135600.GI2878@cmpxchg.org \ --to=hannes@cmpxchg.org \ --cc=akpm@linux-foundation.org \ --cc=gthelen@google.com \ --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=mhocko@suse.cz \ --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.