Re: [patch] mm, thp: do not allow thp faults to avoid cpuset restrictions

From: Alex Thorlton
Date: Wed Jul 23 2014 - 19:20:12 EST


On Wed, Jul 23, 2014 at 03:50:09PM -0700, David Rientjes wrote:
> The page allocator relies on __GFP_WAIT to determine if ALLOC_CPUSET
> should be set in allocflags. ALLOC_CPUSET controls if a page allocation
> should be restricted only to the set of allowed cpuset mems.
>
> Transparent hugepages clears __GFP_WAIT when defrag is disabled to prevent
> the fault path from using memory compaction or direct reclaim. Thus, it
> is unfairly able to allocate outside of its cpuset mems restriction as a
> side-effect.
>
> This patch ensures that ALLOC_CPUSET is only cleared when the gfp mask is
> truly GFP_ATOMIC by verifying it is also not a thp allocation.

Tested. Works as expected.

Tested-by: Alex Thorlton <athorlton@xxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/