summaryrefslogtreecommitdiff
path: root/kernel/cpuset.c
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-05-24 12:33:15 +0300
committerAvi Kivity <avi@qumranet.com>2007-07-16 12:05:49 +0300
commitac076758b97d9e3d2c1557cfa412911e93cd0919 (patch)
tree9df55c693f4e86a1157be6151c2d5d1f8906868a /kernel/cpuset.c
parentdb912f963909b3cbc3a059b7528f6a1a1eb6ffae (diff)
downloadlwn-ac076758b97d9e3d2c1557cfa412911e93cd0919.tar.gz
lwn-ac076758b97d9e3d2c1557cfa412911e93cd0919.zip
HOTPLUG: Adapt cpuset hotplug callback to CPU_DYING
CPU_DYING is called in atomic context, so don't try to take any locks. Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'kernel/cpuset.c')
-rw-r--r--kernel/cpuset.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 4c49188cc49b..c4d123f74bd3 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -2138,6 +2138,9 @@ static void common_cpu_mem_hotplug_unplug(void)
static int cpuset_handle_cpuhp(struct notifier_block *nb,
unsigned long phase, void *cpu)
{
+ if (phase == CPU_DYING || phase == CPU_DYING_FROZEN)
+ return NOTIFY_DONE;
+
common_cpu_mem_hotplug_unplug();
return 0;
}