From: Michal Hocko <mhocko@suse.cz> To: Tejun Heo <tj@kernel.org> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>, Andrew Morton <akpm@linux-foundation.org>, Cong Wang <xiyou.wangcong@gmail.com>, David Rientjes <rientjes@google.com>, Oleg Nesterov <oleg@redhat.com>, LKML <linux-kernel@vger.kernel.org>, linux-mm@kvack.org, Linux PM list <linux-pm@vger.kernel.org> Subject: Re: [PATCH 3/4] OOM, PM: OOM killed task shouldn't escape PM suspend Date: Wed, 5 Nov 2014 14:42:19 +0100 [thread overview] Message-ID: <20141105134219.GD4527@dhcp22.suse.cz> (raw) In-Reply-To: <20141105133100.GC4527@dhcp22.suse.cz> On Wed 05-11-14 14:31:00, Michal Hocko wrote: > On Wed 05-11-14 08:02:47, Tejun Heo wrote: [...] > > Also, why isn't this part of > > oom_killer_disable/enable()? The way they're implemented is really > > silly now. It just sets a flag and returns whether there's a > > currently running instance or not. How were these even useful? > > Why can't you just make disable/enable to what they were supposed to > > do from the beginning? > > Because then we would block all the potential allocators coming from > workqueues or kernel threads which are not frozen yet rather than fail > the allocation. After thinking about this more it would be doable by using trylock in the allocation oom path. I will respin the patch. The API will be cleaner this way. -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@suse.cz> To: Tejun Heo <tj@kernel.org> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>, Andrew Morton <akpm@linux-foundation.org>, Cong Wang <xiyou.wangcong@gmail.com>, David Rientjes <rientjes@google.com>, Oleg Nesterov <oleg@redhat.com>, LKML <linux-kernel@vger.kernel.org>, linux-mm@kvack.org, Linux PM list <linux-pm@vger.kernel.org> Subject: Re: [PATCH 3/4] OOM, PM: OOM killed task shouldn't escape PM suspend Date: Wed, 5 Nov 2014 14:42:19 +0100 [thread overview] Message-ID: <20141105134219.GD4527@dhcp22.suse.cz> (raw) In-Reply-To: <20141105133100.GC4527@dhcp22.suse.cz> On Wed 05-11-14 14:31:00, Michal Hocko wrote: > On Wed 05-11-14 08:02:47, Tejun Heo wrote: [...] > > Also, why isn't this part of > > oom_killer_disable/enable()? The way they're implemented is really > > silly now. It just sets a flag and returns whether there's a > > currently running instance or not. How were these even useful? > > Why can't you just make disable/enable to what they were supposed to > > do from the beginning? > > Because then we would block all the potential allocators coming from > workqueues or kernel threads which are not frozen yet rather than fail > the allocation. After thinking about this more it would be doable by using trylock in the allocation oom path. I will respin the patch. The API will be cleaner this way. -- Michal Hocko SUSE Labs -- 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-11-05 13:42 UTC|newest] Thread overview: 190+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-10-21 7:27 [PATCH 0/4 -v2] OOM vs. freezer interaction fixes Michal Hocko 2014-10-21 7:27 ` Michal Hocko 2014-10-21 7:27 ` Michal Hocko 2014-10-21 7:27 ` [PATCH 1/4] freezer: Do not freeze tasks killed by OOM killer Michal Hocko 2014-10-21 7:27 ` Michal Hocko 2014-10-21 12:04 ` Rafael J. Wysocki 2014-10-21 12:04 ` Rafael J. Wysocki 2014-10-21 7:27 ` [PATCH 2/4] freezer: remove obsolete comments in __thaw_task() Michal Hocko 2014-10-21 7:27 ` Michal Hocko 2014-10-21 12:04 ` Rafael J. Wysocki 2014-10-21 12:04 ` Rafael J. Wysocki 2014-10-21 7:27 ` [PATCH 3/4] OOM, PM: OOM killed task shouldn't escape PM suspend Michal Hocko 2014-10-21 7:27 ` Michal Hocko 2014-10-21 12:09 ` Rafael J. Wysocki 2014-10-21 12:09 ` Rafael J. Wysocki 2014-10-21 13:14 ` Michal Hocko 2014-10-21 13:14 ` Michal Hocko 2014-10-21 13:42 ` Rafael J. Wysocki 2014-10-21 13:42 ` Rafael J. Wysocki 2014-10-21 14:11 ` Michal Hocko 2014-10-21 14:11 ` Michal Hocko 2014-10-21 14:41 ` Rafael J. Wysocki 2014-10-21 14:41 ` Rafael J. Wysocki 2014-10-21 14:29 ` Michal Hocko 2014-10-21 14:29 ` Michal Hocko 2014-10-22 14:39 ` Rafael J. Wysocki 2014-10-22 14:39 ` Rafael J. Wysocki 2014-10-22 14:22 ` Michal Hocko 2014-10-22 14:22 ` Michal Hocko 2014-10-22 21:18 ` Rafael J. Wysocki 2014-10-22 21:18 ` Rafael J. Wysocki 2014-10-26 18:49 ` Pavel Machek 2014-10-26 18:49 ` Pavel Machek 2014-11-04 19:27 ` Tejun Heo 2014-11-04 19:27 ` Tejun Heo 2014-11-05 12:46 ` Michal Hocko 2014-11-05 12:46 ` Michal Hocko 2014-11-05 13:02 ` Tejun Heo 2014-11-05 13:02 ` Tejun Heo 2014-11-05 13:31 ` Michal Hocko 2014-11-05 13:31 ` Michal Hocko 2014-11-05 13:42 ` Michal Hocko [this message] 2014-11-05 13:42 ` Michal Hocko 2014-11-05 14:14 ` Michal Hocko 2014-11-05 14:14 ` Michal Hocko 2014-11-05 14:14 ` Michal Hocko 2014-11-05 15:45 ` Michal Hocko 2014-11-05 15:45 ` Michal Hocko 2014-11-05 15:44 ` Tejun Heo 2014-11-05 15:44 ` Tejun Heo 2014-11-05 16:01 ` Michal Hocko 2014-11-05 16:01 ` Michal Hocko 2014-11-05 16:29 ` Tejun Heo 2014-11-05 16:29 ` Tejun Heo 2014-11-05 16:39 ` Michal Hocko 2014-11-05 16:39 ` Michal Hocko 2014-11-05 16:54 ` Tejun Heo 2014-11-05 16:54 ` Tejun Heo 2014-11-05 17:01 ` Tejun Heo 2014-11-05 17:01 ` Tejun Heo 2014-11-06 13:05 ` Michal Hocko 2014-11-06 13:05 ` Michal Hocko 2014-11-06 13:05 ` Michal Hocko 2014-11-06 15:09 ` Tejun Heo 2014-11-06 15:09 ` Tejun Heo 2014-11-06 16:01 ` Michal Hocko 2014-11-06 16:01 ` Michal Hocko 2014-11-06 16:12 ` Tejun Heo 2014-11-06 16:12 ` Tejun Heo 2014-11-06 16:31 ` Michal Hocko 2014-11-06 16:31 ` Michal Hocko 2014-11-06 16:33 ` Tejun Heo 2014-11-06 16:33 ` Tejun Heo 2014-11-06 16:58 ` Michal Hocko 2014-11-06 16:58 ` Michal Hocko 2014-11-05 17:46 ` Michal Hocko 2014-11-05 17:46 ` Michal Hocko 2014-11-05 17:55 ` Tejun Heo 2014-11-05 17:55 ` Tejun Heo 2014-11-06 12:49 ` Michal Hocko 2014-11-06 12:49 ` Michal Hocko 2014-11-06 15:01 ` Tejun Heo 2014-11-06 15:01 ` Tejun Heo 2014-11-06 16:02 ` Michal Hocko 2014-11-06 16:02 ` Michal Hocko 2014-11-06 16:02 ` Michal Hocko 2014-11-06 16:28 ` Tejun Heo 2014-11-06 16:28 ` Tejun Heo 2014-11-10 16:30 ` Michal Hocko 2014-11-10 16:30 ` Michal Hocko 2014-11-12 18:58 ` [RFC 0/4] OOM vs PM freezer fixes Michal Hocko 2014-11-12 18:58 ` Michal Hocko 2014-11-12 18:58 ` [RFC 1/4] OOM, PM: Do not miss OOM killed frozen tasks Michal Hocko 2014-11-12 18:58 ` Michal Hocko 2014-11-14 17:55 ` Tejun Heo 2014-11-14 17:55 ` Tejun Heo 2014-11-12 18:58 ` [RFC 2/4] OOM, PM: make OOM detection in the freezer path raceless Michal Hocko 2014-11-12 18:58 ` Michal Hocko 2014-11-12 18:58 ` [RFC 3/4] OOM, PM: handle pm freezer as an OOM victim correctly Michal Hocko 2014-11-12 18:58 ` Michal Hocko 2014-11-12 18:58 ` [RFC 4/4] OOM: thaw the OOM victim if it is frozen Michal Hocko 2014-11-12 18:58 ` Michal Hocko 2014-11-14 20:14 ` [RFC 0/4] OOM vs PM freezer fixes Tejun Heo 2014-11-14 20:14 ` Tejun Heo 2014-11-18 21:08 ` Michal Hocko 2014-11-18 21:08 ` Michal Hocko 2014-11-18 21:10 ` [RFC 1/2] oom: add helper for setting and clearing TIF_MEMDIE Michal Hocko 2014-11-18 21:10 ` Michal Hocko 2014-11-18 21:10 ` [RFC 2/2] OOM, PM: make OOM detection in the freezer path raceless Michal Hocko 2014-11-18 21:10 ` Michal Hocko 2014-11-27 0:47 ` Rafael J. Wysocki 2014-11-27 0:47 ` Rafael J. Wysocki 2014-12-02 22:08 ` Tejun Heo 2014-12-02 22:08 ` Tejun Heo 2014-12-04 14:16 ` Michal Hocko 2014-12-04 14:16 ` Michal Hocko 2014-12-04 14:44 ` Tejun Heo 2014-12-04 14:44 ` Tejun Heo 2014-12-04 16:56 ` Michal Hocko 2014-12-04 16:56 ` Michal Hocko 2014-12-04 17:18 ` Michal Hocko 2014-12-04 17:18 ` Michal Hocko 2014-12-05 16:41 ` [PATCH 0/4] OOM vs PM freezer fixes Michal Hocko 2014-12-05 16:41 ` Michal Hocko 2014-12-05 16:41 ` [PATCH -v2 1/5] oom: add helpers for setting and clearing TIF_MEMDIE Michal Hocko 2014-12-05 16:41 ` Michal Hocko 2014-12-06 12:56 ` Tejun Heo 2014-12-06 12:56 ` Tejun Heo 2014-12-07 10:13 ` Michal Hocko 2014-12-07 10:13 ` Michal Hocko 2015-01-07 17:57 ` Tejun Heo 2015-01-07 17:57 ` Tejun Heo 2015-01-07 18:23 ` Michal Hocko 2015-01-07 18:23 ` Michal Hocko 2014-12-05 16:41 ` [PATCH -v2 2/5] OOM: thaw the OOM victim if it is frozen Michal Hocko 2014-12-05 16:41 ` Michal Hocko 2014-12-06 13:06 ` Tejun Heo 2014-12-06 13:06 ` Tejun Heo 2014-12-07 10:24 ` Michal Hocko 2014-12-07 10:24 ` Michal Hocko 2014-12-07 10:45 ` Michal Hocko 2014-12-07 10:45 ` Michal Hocko 2014-12-07 13:59 ` Tejun Heo 2014-12-07 13:59 ` Tejun Heo 2014-12-07 18:55 ` Michal Hocko 2014-12-07 18:55 ` Michal Hocko 2014-12-05 16:41 ` [PATCH -v2 3/5] PM: convert printk to pr_* equivalent Michal Hocko 2014-12-05 16:41 ` Michal Hocko 2014-12-05 22:40 ` Rafael J. Wysocki 2014-12-05 22:40 ` Rafael J. Wysocki 2014-12-07 10:26 ` Michal Hocko 2014-12-07 10:26 ` Michal Hocko 2014-12-06 13:08 ` Tejun Heo 2014-12-06 13:08 ` Tejun Heo 2014-12-05 16:41 ` [PATCH -v2 4/5] sysrq: " Michal Hocko 2014-12-05 16:41 ` Michal Hocko 2014-12-06 13:09 ` Tejun Heo 2014-12-06 13:09 ` Tejun Heo 2014-12-05 16:41 ` [PATCH -v2 5/5] OOM, PM: make OOM detection in the freezer path raceless Michal Hocko 2014-12-05 16:41 ` Michal Hocko 2014-12-06 13:11 ` Tejun Heo 2014-12-06 13:11 ` Tejun Heo 2014-12-07 10:11 ` Michal Hocko 2014-12-07 10:11 ` Michal Hocko 2015-01-07 18:41 ` Tejun Heo 2015-01-07 18:41 ` Tejun Heo 2015-01-07 18:48 ` Michal Hocko 2015-01-07 18:48 ` Michal Hocko 2015-01-08 11:51 ` Michal Hocko 2015-01-08 11:51 ` Michal Hocko 2014-12-07 10:09 ` [PATCH 0/4] OOM vs PM freezer fixes Michal Hocko 2014-12-07 10:09 ` Michal Hocko 2014-12-07 13:55 ` Tejun Heo 2014-12-07 13:55 ` Tejun Heo 2014-12-07 19:00 ` Michal Hocko 2014-12-07 19:00 ` Michal Hocko 2014-12-18 16:27 ` Michal Hocko 2014-12-18 16:27 ` Michal Hocko 2014-11-05 14:55 ` [PATCH 3/4] OOM, PM: OOM killed task shouldn't escape PM suspend Michal Hocko 2014-11-05 14:55 ` Michal Hocko 2014-10-26 18:40 ` Pavel Machek 2014-10-26 18:40 ` Pavel Machek 2014-10-21 7:27 ` [PATCH 4/4] PM: convert do_each_thread to for_each_process_thread Michal Hocko 2014-10-21 7:27 ` Michal Hocko 2014-10-21 12:10 ` Rafael J. Wysocki 2014-10-21 12:10 ` Rafael J. Wysocki 2014-10-21 13:19 ` Michal Hocko 2014-10-21 13:19 ` Michal Hocko 2014-10-21 13:43 ` Rafael J. Wysocki 2014-10-21 13:43 ` Rafael J. Wysocki
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=20141105134219.GD4527@dhcp22.suse.cz \ --to=mhocko@suse.cz \ --cc=akpm@linux-foundation.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-pm@vger.kernel.org \ --cc=oleg@redhat.com \ --cc=rientjes@google.com \ --cc=rjw@rjwysocki.net \ --cc=tj@kernel.org \ --cc=xiyou.wangcong@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: 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.