Re: [PATCH 2/3] mm, oom: do not enfore OOM killer for __GFP_NOFAIL automatically

From: Hillf Danton
Date: Fri Jan 20 2017 - 03:34:13 EST



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