The patch titled Ignore bogus ACPI info for offline CPUs has been added to the -mm tree. Its filename is ignore-bogus-acpi-info-for-offline-cpus.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Ignore bogus ACPI info for offline CPUs From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Booting a SMP kernel with maxcpus=1 on a SMP system leads to a hard hang, because ACPI ignores the maxcpus setting and sends timer broadcast info for the offline CPUs. This results in a stuck for ever call to smp_call_function_single() on an offline CPU. Ignore the bogus information and print a kernel error to remind ACPI folks to fix it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/time/tick-broadcast.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff -puN kernel/time/tick-broadcast.c~ignore-bogus-acpi-info-for-offline-cpus kernel/time/tick-broadcast.c --- a/kernel/time/tick-broadcast.c~ignore-bogus-acpi-info-for-offline-cpus +++ a/kernel/time/tick-broadcast.c @@ -243,11 +243,18 @@ void tick_broadcast_on_off(unsigned long { int cpu = get_cpu(); - if (cpu == *oncpu) - tick_do_broadcast_on_off(&reason); - else - smp_call_function_single(*oncpu, tick_do_broadcast_on_off, - &reason, 1, 1); + if (!cpu_isset(*oncpu, cpu_online_map)) { + printk(KERN_ERR "tick-braodcast: ignoring broadcast for " + "offline CPU #%d\n", *oncpu); + } else { + + if (cpu == *oncpu) + tick_do_broadcast_on_off(&reason); + else + smp_call_function_single(*oncpu, + tick_do_broadcast_on_off, + &reason, 1, 1); + } put_cpu(); } _ Patches currently in -mm which might be from tglx@xxxxxxxxxxxxx are ignore-bogus-acpi-info-for-offline-cpus.patch drm-spinlock-initializer-cleanup.patch s390-spinlock-initializer-cleanup.patch i386-hpet-check-if-the-counter-works.patch vsyscall-time-fix.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