Messages in this thread | | | Date | Wed, 31 Oct 2012 11:21:32 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PART6 Patch] mempolicy: fix is_valid_nodemask() |
| |
On Wed, 31 Oct 2012, Wen Congyang wrote:
> From: Lai Jiangshan <laijs@cn.fujitsu.com> > > 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.
| |