Messages in this thread Patch in this message | | | Date | Sat, 12 Jul 2008 05:17:37 +0200 | Subject | Re: current linux-2.6.git: cpusets completely broken | From | Vegard Nossum <> |
| |
> Does the patch below help?
Yes, it does! Well done!
(It needed a couple of minor syntax fixes, so I'm attaching the final patch as well.)
Can somebody else please test/ack/review it too? This should eventually go into 2.6.26 if it doesn't break anything else.
Vegard
From da802021c32be4020ec810f04b56d3654a8d4766 Mon Sep 17 00:00:00 2001 From: Dmitry Adamushko <dmitry.adamushko@gmail.com> Date: Sat, 12 Jul 2008 05:01:55 +0200 Subject: [PATCH] cpuset: fix cpu hotplug
This patch fixes a "kernel BUG at kernel/sched.c:5859!" when cpu hotplug is used with CONFIG_CPUSETS=y.
[ Fixed invalid syntax ] Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com> --- kernel/cpuset.c | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 9fceb97..860a190 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -1912,11 +1912,22 @@ static void common_cpu_mem_hotplug_unplug(void) static int cpuset_handle_cpuhp(struct notifier_block *unused_nb, unsigned long phase, void *unused_cpu) { - if (phase == CPU_DYING || phase == CPU_DYING_FROZEN) + switch (phase) { + case CPU_UP_CANCELED: + case CPU_UP_CANCELED_FROZEN: + case CPU_DOWN_FAILED: + case CPU_DOWN_FAILED_FROZEN: + case CPU_ONLINE: + case CPU_ONLINE_FROZEN: + case CPU_DEAD: + case CPU_DEAD_FROZEN: + common_cpu_mem_hotplug_unplug(); + break; + default: return NOTIFY_DONE; + } - common_cpu_mem_hotplug_unplug(); - return 0; + return NOTIFY_OK; } #ifdef CONFIG_MEMORY_HOTPLUG -- 1.5.4.1
| |