Path: csiph.com!1.us.feeder.erje.net!2.us.feeder.erje.net!feeder.erje.net!2.eu.feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod From: Michal Hocko Newsgroups: linux.kernel Subject: Re: [PATCH 2/3] mm, oom: do not enfore OOM killer for __GFP_NOFAIL automatically Date: Tue, 24 Jan 2017 13:50:01 +0100 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.6.0 (2016-04-01) Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 29 Organization: linux.* mail to news gateway X-Original-Cc: 'Andrew Morton' , 'Johannes Weiner' , 'Tetsuo Handa' , 'David Rientjes' , 'Mel Gorman' , linux-mm@kvack.org, 'LKML' X-Original-Date: Tue, 24 Jan 2017 13:40:49 +0100 X-Original-Message-ID: <20170124124048.GE6867@dhcp22.suse.cz> X-Original-References: <20161220134904.21023-1-mhocko@kernel.org> <20161220134904.21023-3-mhocko@kernel.org> <001f01d272f7$e53acbd0$afb06370$@alibaba-inc.com> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1565828 On Fri 20-01-17 16:33:36, Hillf Danton wrote: > > On Tuesday, December 20, 2016 9:49 PM Michal Hocko wrote: > > > > @@ -1013,7 +1013,7 @@ bool out_of_memory(struct oom_control *oc) > > * make sure exclude 0 mask - all other users should have at least > > * ___GFP_DIRECT_RECLAIM to get here. > > */ > > - if (oc->gfp_mask && !(oc->gfp_mask & (__GFP_FS|__GFP_NOFAIL))) > > + if (oc->gfp_mask && !(oc->gfp_mask & __GFP_FS)) > > return true; > > > As to GFP_NOFS|__GFP_NOFAIL request, can we check gfp mask > one bit after another? > > if (oc->gfp_mask) { > if (!(oc->gfp_mask & __GFP_FS)) > return false; > > /* No service for request that can handle fail result itself */ > if (!(oc->gfp_mask & __GFP_NOFAIL)) > return false; > } I really do not understand this request. This patch is removing the __GFP_NOFAIL part... Besides that why should they return false? -- Michal Hocko SUSE Labs