On 2018/11/09 17:43, Michal Hocko wrote:
> @@ -4364,6 +4353,17 @@ __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int 
> order, int preferred_nid,
>       gfp_t alloc_mask; /* The gfp_t that was actually used for allocation */
>       struct alloc_context ac = { };
>  
> +     /*
> +      * In the slowpath, we sanity check order to avoid ever trying to

Please keep the comment up to dated.
I don't like that comments in OOM code is outdated.

> +      * reclaim >= MAX_ORDER areas which will never succeed. Callers may
> +      * be using allocators in order of preference for an area that is
> +      * too large.
> +      */
> +     if (order >= MAX_ORDER) {

Also, why not to add BUG_ON(gfp_mask & __GFP_NOFAIL); here?

> +             WARN_ON_ONCE(!(gfp_mask & __GFP_NOWARN));
> +             return NULL;
> +     }
> +
>       gfp_mask &= gfp_allowed_mask;
>       alloc_mask = gfp_mask;
>       if (!prepare_alloc_pages(gfp_mask, order, preferred_nid, nodemask, &ac, 
> &alloc_mask, &alloc_flags))
> 

Reply via email to