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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>