This patch is part6 of the following patchset: https://lkml.org/lkml/2012/10/29/319 The patchset is based on Linus's tree with these three patches already applied: https://lkml.org/lkml/2012/10/24/151 https://lkml.org/lkml/2012/10/26/150 Part1 is here: https://lkml.org/lkml/2012/10/31/30 Part2 is here: http://marc.info/?l=linux-kernel&m=135166705909544&w=2 Part3 is here: http://marc.info/?l=linux-kernel&m=135167050510527&w=2 Part4 is here: http://marc.info/?l=linux-kernel&m=135167344211401&w=2 Part5 is here: http://marc.info/?l=linux-kernel&m=135167497312063&w=2 You can apply this patch without the other parts. Issues): mempolicy(M_BIND) don't act well when the nodemask has movable nodes only, the kernel allocation will fail and the task can't create new task or other kernel objects. So we change the strategy/policy when the bound nodemask has movable node(s) only, we only apply mempolicy for userspace allocation, don't apply it for kernel allocation. CPUSET also has the same problem, but the code spread in page_alloc.c, and we doesn't fix it yet, we can/will change allocation strategy to one of these 3 strategies: 1) the same strategy as mempolicy 2) change cpuset, make nodemask always has at least a normal node 3) split nodemask: nodemask_user and nodemask_kernel This patchset only fixes issue1. Lai Jiangshan (1): mempolicy: fix is_valid_nodemask() mm/mempolicy.c | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) -- 1.8.0 -- 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>