Subject: [patch] high-res timers: fix APIC event-broadcasting code From: Ingo Molnar <[EMAIL PROTECTED]>
this patch fixes a bug in the APCI-C3-turns-off-lapic related event-broadcasting code: it accidentally reactivated the global tick, instead of the global event emulation layer. The effect of this bug was a rare bootup hang on one of my test-laptops - but it could also result in other types of timer related problems (but not hangs in an already running system), such as imprecise high-res timeouts. Debugged via SysRq-Q. Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]> Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]> --- arch/i386/kernel/apic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: linux-hres-timers.q/arch/i386/kernel/apic.c =================================================================== --- linux-hres-timers.q.orig/arch/i386/kernel/apic.c +++ linux-hres-timers.q/arch/i386/kernel/apic.c @@ -506,7 +506,7 @@ void switch_APIC_timer_to_ipi(void *cpum int cpu = smp_processor_id(); if (cpu_isset(cpu, mask) && levt->event_handler) - clockevents_set_global_broadcast(levt, 1); + clockevents_set_broadcast(levt, 1); } EXPORT_SYMBOL_GPL(switch_APIC_timer_to_ipi); @@ -517,7 +517,7 @@ void switch_ipi_to_APIC_timer(void *cpum int cpu = smp_processor_id(); if (cpu_isset(cpu, mask) && levt->event_handler) - clockevents_set_global_broadcast(levt, 0); + clockevents_set_broadcast(levt, 0); } EXPORT_SYMBOL_GPL(switch_ipi_to_APIC_timer); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/