Re: [PART6 Patch] mempolicy: fix is_valid_nodemask()

From: David Rientjes
Date: Wed Oct 31 2012 - 14:21:27 EST


On Wed, 31 Oct 2012, Wen Congyang wrote:

> From: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
>
> is_valid_nodemask() is introduced by 19770b32. but it does not match
> its comments, because it does not check the zone which > policy_zone.
>
> Also in b377fd, this commits told us, if highest zone is ZONE_MOVABLE,
> we should also apply memory policies to it. so ZONE_MOVABLE should be valid zone
> for policies. is_valid_nodemask() need to be changed to match it.
>
> Fix: check all zones, even its zoneid > policy_zone.
> Use nodes_intersects() instead open code to check it.
>

This changes the semantics of MPOL_BIND to be considerably different than
what it is today: slab allocations are no longer bound by such a policy
which isn't consistent with what userspace expects or is specified by
set_mempolicy() and there's no way, with your patch, to actually specify
that we don't care about ZONE_MOVABLE and that the slab allocations
_should_ actually be allocated on movable-only zones. You have to respect
cases where people aren't interested in node hotplug and not cause a
regression.
--
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/