On Fri, Aug 18, 2017 at 5:23 AM, Mel Gorman <[email protected]> wrote:
>
>         new_page = alloc_pages_node(node,
> -               (GFP_TRANSHUGE_LIGHT | __GFP_THISNODE),
> +               (GFP_TRANSHUGE_LIGHT | __GFP_THISNODE) & 
> ~__GFP_DIRECT_RECLAIM,
>                 HPAGE_PMD_ORDER);

That can't make any difference. We already have:

  #define GFP_TRANSHUGE_LIGHT     ((GFP_HIGHUSER_MOVABLE | __GFP_COMP | \
                         __GFP_NOMEMALLOC | __GFP_NOWARN) & ~__GFP_RECLAIM)

and that "& ~__GFP_RECLAIM" is removing __GFP_DIRECT_RECLAIM.

So that patch is a no-op, afaik.

Is there something else expensive in there?

It *might* be simply that we have a shit-ton of threads, and the
thread that holds the page lock for migration is just preempted out.
even if it doesn't really do anything particularly expensive.

                           Linus

Reply via email to