Re: [PATCH 1/2] sched/wait: Break up long wake list walk
From: Linus Torvalds
Date: Fri Aug 18 2017 - 12:56:02 EST
On Fri, Aug 18, 2017 at 5:23 AM, Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> 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