The patch titled cpu-hotplug: release `workqueue_mutex' properly on CPU hot-remove has been removed from the -mm tree. Its filename was cpu-hotplug-releasing-workqueue_mutex-properly-on-cpu-hot-remove.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: cpu-hotplug: release `workqueue_mutex' properly on CPU hot-remove From: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> _cpu_down() acquires `workqueue_mutex' on its process, but doen't release it if __cpu_disable() fails. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- kernel/cpu.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff -puN kernel/cpu.c~cpu-hotplug-releasing-workqueue_mutex-properly-on-cpu-hot-remove kernel/cpu.c --- a/kernel/cpu.c~cpu-hotplug-releasing-workqueue_mutex-properly-on-cpu-hot-remove +++ a/kernel/cpu.c @@ -150,18 +150,18 @@ static int _cpu_down(unsigned int cpu) p = __stop_machine_run(take_cpu_down, NULL, cpu); mutex_unlock(&cpu_bitmask_lock); - if (IS_ERR(p)) { + if (IS_ERR(p) || cpu_online(cpu)) { /* CPU didn't die: tell everyone. Can't complain. */ if (raw_notifier_call_chain(&cpu_chain, CPU_DOWN_FAILED, (void *)(long)cpu) == NOTIFY_BAD) BUG(); - err = PTR_ERR(p); - goto out_allowed; - } - - if (cpu_online(cpu)) + if (IS_ERR(p)) { + err = PTR_ERR(p); + goto out_allowed; + } goto out_thread; + } /* Wait for it to sleep (leaving idle task). */ while (!idle_cpu(cpu)) _ Patches currently in -mm which might be from takeuchi_satoru@xxxxxxxxxxxxxx are origin.patch ia64-cpu-hotplug-fix-conflict-between-cpu-hot-add-and-ipi.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html