On 11/22/2016 06:19 AM, Anshuman Khandual wrote:
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -3715,7 +3715,7 @@ struct page *
>               .migratetype = gfpflags_to_migratetype(gfp_mask),
>       };
>  
> -     if (cpusets_enabled()) {
> +     if (cpusets_enabled() && !(alloc_mask & __GFP_THISNODE)) {
>               alloc_mask |= __GFP_HARDWALL;
>               alloc_flags |= ALLOC_CPUSET;
>               if (!ac.nodemask)

This means now that any __GFP_THISNODE allocation can "escape" the
cpuset.  That seems like a pretty major change to how cpusets works.  Do
we know that *ALL* __GFP_THISNODE allocations are truly lacking in a
cpuset context that can be enforced?

Reply via email to