From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757282AbcC2OWW (ORCPT ); Tue, 29 Mar 2016 10:22:22 -0400 Received: from mail-wm0-f52.google.com ([74.125.82.52]:34787 "EHLO mail-wm0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757050AbcC2OWT (ORCPT ); Tue, 29 Mar 2016 10:22:19 -0400 Date: Tue, 29 Mar 2016 16:22:16 +0200 From: Michal Hocko To: Tetsuo Handa Cc: linux-mm@kvack.org, rientjes@google.com, hannes@cmpxchg.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH] mm, oom: move GFP_NOFS check to out_of_memory Message-ID: <20160329142216.GE4466@dhcp22.suse.cz> References: <1459258055-1173-1-git-send-email-mhocko@kernel.org> <201603292245.AAC12437.JFLMQVtSOHFFOO@I-love.SAKURA.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201603292245.AAC12437.JFLMQVtSOHFFOO@I-love.SAKURA.ne.jp> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 29-03-16 22:45:40, Tetsuo Handa wrote: > Michal Hocko wrote: > > From: Michal Hocko > > > > __alloc_pages_may_oom is the central place to decide when the > > out_of_memory should be invoked. This is a good approach for most checks > > there because they are page allocator specific and the allocation fails > > right after. > > > > The notable exception is GFP_NOFS context which is faking > > did_some_progress and keep the page allocator looping even though there > > couldn't have been any progress from the OOM killer. This patch doesn't > > change this behavior because we are not ready to allow those allocation > > requests to fail yet. Instead __GFP_FS check is moved down to > > out_of_memory and prevent from OOM victim selection there. There are > > two reasons for that > > - OOM notifiers might release some memory even from this context > > as none of the registered notifier seems to be FS related > > - this might help a dying thread to get an access to memory > > reserves and move on which will make the behavior more > > consistent with the case when the task gets killed from a > > different context. > > Allowing !__GFP_FS allocations to get TIF_MEMDIE by calling the shortcuts in > out_of_memory() would be fine. But I don't like the direction you want to go. > > I don't like failing !__GFP_FS allocations without selecting OOM victim > ( http://lkml.kernel.org/r/201603252054.ADH30264.OJQFFLMOHFSOVt@I-love.SAKURA.ne.jp ). I didn't get to read and digest that email yet but from a quick glance it doesn't seem to be directly related to this patch. Even if we decide that __GFP_FS vs. OOM killer logic is flawed for some reason then would build on top as granting the access to memory reserves is not against it. > Also, I suggested removing all shortcuts by setting TIF_MEMDIE from oom_kill_process() > ( http://lkml.kernel.org/r/1458529634-5951-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp ). I personally do not like this much. I believe we have already tried to explain why we have (some of) those shortcuts. They might be too optimistic and there is a room for improvements for sure but I am not convinced we can get rid of them that easily. -- Michal Hocko SUSE Labs