The patch titled Subject: stop_machine: make stop_machine safe and efficient to call early has been removed from the -mm tree. Its filename was stop_machine-make-stop_machine-safe-and-efficient-to-call-early.patch This patch was dropped because an updated version will be merged The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ From: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Subject: stop_machine: make stop_machine safe and efficient to call early Make stop_machine() safe to call early in boot, before SMP has been set up, by simply calling the callback function directly if there's only one CPU online. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Cc: Tejun Heo <htejun@xxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> From: Andrew Morton <akpm@xxxxxxxxxx> Subject: stop_machine-make-stop_machine-safe-and-efficient-to-call-early-fix - add comment - s/local_save_flags/local_irq_save/ Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tejun Heo <htejun@xxxxxxxxx> From: Andrew Morton <akpm@xxxxxxxxxx> Subject: stop_machine-make-stop_machine-safe-and-efficient-to-call-early-fix-fix call hard_irq_disable() too Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tejun Heo <htejun@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxx> --- kernel/stop_machine.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff -puN kernel/stop_machine.c~stop_machine-make-stop_machine-safe-and-efficient-to-call-early kernel/stop_machine.c --- a/kernel/stop_machine.c~stop_machine-make-stop_machine-safe-and-efficient-to-call-early +++ a/kernel/stop_machine.c @@ -485,6 +485,22 @@ int __stop_machine(int (*fn)(void *), vo .num_threads = num_online_cpus(), .active_cpus = cpus }; + if (smdata.num_threads == 1) { + /* + * Handle the case where stop_machine() is called early in boot + * before SMP startup. + */ + unsigned long flags; + int ret; + + local_irq_save(flags); + hard_irq_disable(); + ret = (*fn)(data); + local_irq_restore(flags); + + return ret; + } + /* Set the initial state and stop all online cpus. */ set_state(&smdata, STOPMACHINE_PREPARE); return stop_cpus(cpu_online_mask, stop_machine_cpu_stop, &smdata); _ Patches currently in -mm which might be from jeremy@xxxxxxxx are origin.patch linux-next.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