From: Michal Hocko <mhocko@kernel.org> To: Ondrej Kozina <okozina@redhat.com> Cc: Mikulas Patocka <mpatocka@redhat.com>, Jerome Marchand <jmarchan@redhat.com>, Stanislav Kozina <skozina@redhat.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, dm-devel@redhat.com Subject: Re: System freezes after OOM Date: Thu, 14 Jul 2016 19:36:59 +0200 [thread overview] Message-ID: <20160714173659.GA29355@dhcp22.suse.cz> (raw) In-Reply-To: <9ca3459a-8226-b870-163e-58e2bb10df74@redhat.com> On Thu 14-07-16 19:07:52, Ondrej Kozina wrote: > On 07/14/2016 05:31 PM, Michal Hocko wrote: > > On Thu 14-07-16 16:08:28, Ondrej Kozina wrote: > > [...] > > > As Mikulas pointed out, this doesn't work. The system froze as well with the > > > patch above. Will try to tweak the patch with Mikulas's suggestion... > > > > Thank you for testing! Do you happen to have traces of the frozen > > processes? Does the flusher still gets throttled because the bias it > > gets is not sufficient. Or does it get throttled at a different place? > > > > Sure. Here it is (including sysrq+t and sysrq+w output): https://okozina.fedorapeople.org/bugs/swap_on_dmcrypt/4.7.0-rc7+/1/4.7.0-rc7+.log Thanks a lot! This is helpful. [ 162.716376] active_anon:107874 inactive_anon:108176 isolated_anon:64 [ 162.716376] active_file:1086 inactive_file:1103 isolated_file:0 [ 162.716376] unevictable:0 dirty:0 writeback:69824 unstable:0 [ 162.716376] slab_reclaimable:3119 slab_unreclaimable:24124 [ 162.716376] mapped:2165 shmem:57 pagetables:1509 bounce:0 [ 162.716376] free:701 free_pcp:0 free_cma:0 No surprise that PF_LESS_THROTTLE didn't help. It gives some bias but considering how many pages are under writeback it cannot possibly help to prevent from sleeping in throttle_vm_writeout. I suppose adding the following on top of the memalloc patch helps, right? It is an alternative to what you were suggesting in other email but it doesn't affect current_may_throttle paths which I would rather not touch. --- diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 7fbb2d008078..a37661f1a11b 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -1971,6 +1971,9 @@ void throttle_vm_writeout(gfp_t gfp_mask) unsigned long background_thresh; unsigned long dirty_thresh; + if (current->flags & PF_LESS_THROTTLE) + return; + for ( ; ; ) { global_dirty_limits(&background_thresh, &dirty_thresh); dirty_thresh = hard_dirty_limit(&global_wb_domain, dirty_thresh); -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Ondrej Kozina <okozina@redhat.com> Cc: Mikulas Patocka <mpatocka@redhat.com>, Jerome Marchand <jmarchan@redhat.com>, Stanislav Kozina <skozina@redhat.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, dm-devel@redhat.com Subject: Re: System freezes after OOM Date: Thu, 14 Jul 2016 19:36:59 +0200 [thread overview] Message-ID: <20160714173659.GA29355@dhcp22.suse.cz> (raw) In-Reply-To: <9ca3459a-8226-b870-163e-58e2bb10df74@redhat.com> On Thu 14-07-16 19:07:52, Ondrej Kozina wrote: > On 07/14/2016 05:31 PM, Michal Hocko wrote: > > On Thu 14-07-16 16:08:28, Ondrej Kozina wrote: > > [...] > > > As Mikulas pointed out, this doesn't work. The system froze as well with the > > > patch above. Will try to tweak the patch with Mikulas's suggestion... > > > > Thank you for testing! Do you happen to have traces of the frozen > > processes? Does the flusher still gets throttled because the bias it > > gets is not sufficient. Or does it get throttled at a different place? > > > > Sure. Here it is (including sysrq+t and sysrq+w output): https://okozina.fedorapeople.org/bugs/swap_on_dmcrypt/4.7.0-rc7+/1/4.7.0-rc7+.log Thanks a lot! This is helpful. [ 162.716376] active_anon:107874 inactive_anon:108176 isolated_anon:64 [ 162.716376] active_file:1086 inactive_file:1103 isolated_file:0 [ 162.716376] unevictable:0 dirty:0 writeback:69824 unstable:0 [ 162.716376] slab_reclaimable:3119 slab_unreclaimable:24124 [ 162.716376] mapped:2165 shmem:57 pagetables:1509 bounce:0 [ 162.716376] free:701 free_pcp:0 free_cma:0 No surprise that PF_LESS_THROTTLE didn't help. It gives some bias but considering how many pages are under writeback it cannot possibly help to prevent from sleeping in throttle_vm_writeout. I suppose adding the following on top of the memalloc patch helps, right? It is an alternative to what you were suggesting in other email but it doesn't affect current_may_throttle paths which I would rather not touch. --- diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 7fbb2d008078..a37661f1a11b 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -1971,6 +1971,9 @@ void throttle_vm_writeout(gfp_t gfp_mask) unsigned long background_thresh; unsigned long dirty_thresh; + if (current->flags & PF_LESS_THROTTLE) + return; + for ( ; ; ) { global_dirty_limits(&background_thresh, &dirty_thresh); dirty_thresh = hard_dirty_limit(&global_wb_domain, dirty_thresh); -- 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:[~2016-07-14 17:37 UTC|newest] Thread overview: 136+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <57837CEE.1010609@redhat.com> [not found] ` <f80dc690-7e71-26b2-59a2-5a1557d26713@redhat.com> [not found] ` <9be09452-de7f-d8be-fd5d-4a80d1cd1ba3@redhat.com> 2016-07-11 15:43 ` System freezes after OOM Mikulas Patocka 2016-07-11 15:43 ` Mikulas Patocka 2016-07-12 6:49 ` Michal Hocko 2016-07-12 6:49 ` Michal Hocko 2016-07-12 23:44 ` Mikulas Patocka 2016-07-12 23:44 ` Mikulas Patocka 2016-07-12 23:44 ` Mikulas Patocka 2016-07-13 8:35 ` Jerome Marchand 2016-07-13 8:35 ` Jerome Marchand 2016-07-13 11:14 ` Michal Hocko 2016-07-13 11:14 ` Michal Hocko 2016-07-13 11:14 ` Michal Hocko 2016-07-13 14:21 ` Mikulas Patocka 2016-07-13 14:21 ` Mikulas Patocka 2016-07-13 11:10 ` Michal Hocko 2016-07-13 11:10 ` Michal Hocko 2016-07-13 11:10 ` Michal Hocko 2016-07-13 12:50 ` Michal Hocko 2016-07-13 12:50 ` Michal Hocko 2016-07-13 13:44 ` Milan Broz 2016-07-13 13:44 ` Milan Broz 2016-07-13 15:21 ` Mikulas Patocka 2016-07-13 15:21 ` Mikulas Patocka 2016-07-14 9:09 ` Michal Hocko 2016-07-14 9:09 ` Michal Hocko 2016-07-14 9:46 ` Milan Broz 2016-07-14 9:46 ` Milan Broz 2016-07-13 12:50 ` Michal Hocko 2016-07-13 15:02 ` Mikulas Patocka 2016-07-13 15:02 ` Mikulas Patocka 2016-07-13 15:02 ` Mikulas Patocka 2016-07-14 10:51 ` [dm-devel] " Ondrej Kozina 2016-07-14 10:51 ` Ondrej Kozina 2016-07-14 12:51 ` Michal Hocko 2016-07-14 12:51 ` Michal Hocko 2016-07-14 14:00 ` Mikulas Patocka 2016-07-14 14:00 ` Mikulas Patocka 2016-07-14 14:59 ` Michal Hocko 2016-07-14 14:59 ` Michal Hocko 2016-07-14 15:25 ` Ondrej Kozina 2016-07-14 15:25 ` Ondrej Kozina 2016-07-14 17:35 ` Mikulas Patocka 2016-07-14 17:35 ` Mikulas Patocka 2016-07-15 8:35 ` Michal Hocko 2016-07-15 8:35 ` Michal Hocko 2016-07-15 12:11 ` Mikulas Patocka 2016-07-15 12:11 ` Mikulas Patocka 2016-07-15 12:22 ` Michal Hocko 2016-07-15 12:22 ` Michal Hocko 2016-07-15 17:02 ` Mikulas Patocka 2016-07-15 17:02 ` Mikulas Patocka 2016-07-18 7:22 ` Michal Hocko 2016-07-18 7:22 ` Michal Hocko 2016-07-14 14:08 ` Ondrej Kozina 2016-07-14 14:08 ` Ondrej Kozina 2016-07-14 14:08 ` Ondrej Kozina 2016-07-14 15:31 ` Michal Hocko 2016-07-14 15:31 ` Michal Hocko 2016-07-14 17:07 ` Ondrej Kozina 2016-07-14 17:07 ` Ondrej Kozina 2016-07-14 17:36 ` Michal Hocko [this message] 2016-07-14 17:36 ` Michal Hocko 2016-07-14 17:39 ` Michal Hocko 2016-07-14 17:39 ` Michal Hocko 2016-07-15 11:42 ` Tetsuo Handa 2016-07-15 11:42 ` Tetsuo Handa 2016-07-13 13:19 ` Tetsuo Handa 2016-07-13 13:19 ` Tetsuo Handa 2016-07-13 13:39 ` Michal Hocko 2016-07-13 13:39 ` Michal Hocko 2016-07-13 14:18 ` Mikulas Patocka 2016-07-13 14:18 ` Mikulas Patocka 2016-07-13 14:18 ` Mikulas Patocka 2016-07-13 14:56 ` Michal Hocko 2016-07-13 14:56 ` Michal Hocko 2016-07-13 15:11 ` Mikulas Patocka 2016-07-13 15:11 ` Mikulas Patocka 2016-07-13 23:53 ` David Rientjes 2016-07-13 23:53 ` David Rientjes 2016-07-14 11:01 ` Tetsuo Handa 2016-07-14 11:01 ` Tetsuo Handa 2016-07-14 12:29 ` Mikulas Patocka 2016-07-14 12:29 ` Mikulas Patocka 2016-07-14 20:26 ` David Rientjes 2016-07-14 20:26 ` David Rientjes 2016-07-14 21:40 ` Tetsuo Handa 2016-07-14 21:40 ` Tetsuo Handa 2016-07-14 22:04 ` David Rientjes 2016-07-14 22:04 ` David Rientjes 2016-07-15 11:25 ` Mikulas Patocka 2016-07-15 11:25 ` Mikulas Patocka 2016-07-15 21:21 ` David Rientjes 2016-07-15 21:21 ` David Rientjes 2016-07-14 11:01 ` Tetsuo Handa 2016-07-14 12:27 ` Mikulas Patocka 2016-07-14 12:27 ` Mikulas Patocka 2016-07-14 20:22 ` David Rientjes 2016-07-14 20:22 ` David Rientjes 2016-07-15 11:21 ` Mikulas Patocka 2016-07-15 11:21 ` Mikulas Patocka 2016-07-15 21:25 ` David Rientjes 2016-07-15 21:25 ` David Rientjes 2016-07-15 21:39 ` Mikulas Patocka 2016-07-15 21:39 ` Mikulas Patocka 2016-07-15 21:58 ` David Rientjes 2016-07-15 21:58 ` David Rientjes 2016-07-15 23:53 ` Mikulas Patocka 2016-07-15 23:53 ` Mikulas Patocka 2016-07-18 15:14 ` Johannes Weiner 2016-07-18 15:14 ` Johannes Weiner 2016-07-14 15:29 ` Michal Hocko 2016-07-14 15:29 ` Michal Hocko 2016-07-14 20:38 ` David Rientjes 2016-07-14 20:38 ` David Rientjes 2016-07-15 7:22 ` Michal Hocko 2016-07-15 7:22 ` Michal Hocko 2016-07-15 8:23 ` Michal Hocko 2016-07-15 8:23 ` Michal Hocko 2016-07-15 12:00 ` Mikulas Patocka 2016-07-15 12:00 ` Mikulas Patocka 2016-07-15 21:47 ` David Rientjes 2016-07-15 21:47 ` David Rientjes 2016-07-18 7:39 ` Michal Hocko 2016-07-18 7:39 ` Michal Hocko 2016-07-18 21:03 ` David Rientjes 2016-07-18 21:03 ` David Rientjes 2016-07-13 23:53 ` David Rientjes 2016-07-13 15:11 ` Mikulas Patocka 2016-07-13 14:56 ` Michal Hocko 2016-07-13 13:39 ` Michal Hocko 2016-07-14 0:01 ` David Rientjes 2016-07-14 0:01 ` David Rientjes 2016-07-14 0:01 ` David Rientjes 2016-07-13 13:19 ` Tetsuo Handa 2016-07-12 6:49 ` Michal Hocko 2016-07-11 15:43 ` Mikulas Patocka
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=20160714173659.GA29355@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=dm-devel@redhat.com \ --cc=jmarchan@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mpatocka@redhat.com \ --cc=okozina@redhat.com \ --cc=skozina@redhat.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.