lkml.org 
[lkml]   [2012]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PART6 Patch] memory-hotplug: bugfix for movable node
Date
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



\
 
 \ /
  Last update: 2012-10-31 13:01    [from the cache]
©2003-2011 Jasper Spaans