[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <001f01d272f7$e53acbd0$afb06370$@alibaba-inc.com>
Date: Fri, 20 Jan 2017 16:33:36 +0800
From: "Hillf Danton" <hillf.zj@...baba-inc.com>
To: "'Michal Hocko'" <mhocko@...nel.org>,
"'Andrew Morton'" <akpm@...ux-foundation.org>
Cc: "'Johannes Weiner'" <hannes@...xchg.org>,
"'Tetsuo Handa'" <penguin-kernel@...ove.SAKURA.ne.jp>,
"'David Rientjes'" <rientjes@...gle.com>,
"'Mel Gorman'" <mgorman@...e.de>, <linux-mm@...ck.org>,
"'LKML'" <linux-kernel@...r.kernel.org>,
"'Michal Hocko'" <mhocko@...e.com>
Subject: Re: [PATCH 2/3] mm, oom: do not enfore OOM killer for __GFP_NOFAIL automatically
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;
}
thanks
Hillf
Powered by blists - more mailing lists