Re: [PATCH] page_alloc: skip cpuset enforcement for lower zone allocations (v4)

From: Andrew Morton
Date: Thu May 29 2014 - 19:12:59 EST


On Thu, 29 May 2014 16:01:55 -0700 (PDT) David Rientjes <rientjes@xxxxxxxxxx> wrote:

> There are still three issues with this, two of which are only minor and
> one that needs more thought:
>
> (1) this doesn't affect only cpusets which the changelog indicates, it
> also bypasses mempolicies for GFP_DMA and GFP_DMA32 allocations since
> the nodemask != NULL in the page allocator when there is an effective
> mempolicy. That may be precisely what you're trying to do (do the
> same for mempolicies as you're doing for cpusets), but the comment
> now in the code specifically refers to cpusets. Can you make a case
> for the mempolicies exception as well? Otherwise, we'll need to do
>
> if (!nodemask && gfp_zone(gfp_mask) < policy_zone)
> nodemask = &node_states[N_ONLINE];
>
> And the two minors:
>
> (2) this should be &node_states[N_MEMORY], not &node_states[N_ONLINE]
> since memoryless nodes should not be included. Note that
> guarantee_online_mems() looks at N_MEMORY and
> cpuset_current_mems_allowed is defined for N_MEMORY without
> cpusets.
>
> (3) it's unnecessary for this to be after the "retry_cpuset" label and
> check the gfp mask again if we need to relook at the allowed cpuset
> mask.

OK, thanks, I made the patch go away for now.
--
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/