cpuset: fix the problem that cpuset_mem_spread_node() returns an offline node
authorMiao Xie <miaox@cn.fujitsu.com>
Tue, 23 Mar 2010 20:35:34 +0000 (13:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 24 Mar 2010 23:31:21 +0000 (16:31 -0700)
commit5ab116c9349ef52d6fbd2e2917a53f13194b048e
tree636a6cf02d5ca47c6da5d4935b07ddf08666a09c
parent5574169613b40b85d6f4c67208fa4846b897a0a1
cpuset: fix the problem that cpuset_mem_spread_node() returns an offline node

cpuset_mem_spread_node() returns an offline node, and causes an oops.

This patch fixes it by initializing task->mems_allowed to
node_states[N_HIGH_MEMORY], and updating task->mems_allowed when doing
memory hotplug.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Acked-by: David Rientjes <rientjes@google.com>
Reported-by: Nick Piggin <npiggin@suse.de>
Tested-by: Nick Piggin <npiggin@suse.de>
Cc: Paul Menage <menage@google.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
init/main.c
kernel/cpuset.c
kernel/kthread.c