remove spurious timer interrupts
PATCH 1/1 remove spurious timer interrupts
Since I turned on the IO-APICs on secondary quads in 2.4.19-pre2, we are receiving timer interrupts on *all* quads, not just the first quad, each from their local timer chip. This causes time to progress far too rapidly ;-) The simple patch below turns off the timer interrupts for IO-APICs other than interrupt 0, and has been tested to fix the problem. As it switches on clustered_apic_mode, it should be safe from hurting anyone else. Please apply ...
Thanks,
Martin
arch/i386/kernel/io_apic.c +8 -1
@@ -654,7 +654,14 @@ } irq =pin_2_irq (idx, apic, pin); -add_pin_to_irq (irq, apic, pin); +/* +* skip adding the timer int on secondary nodes, which causes +* a small but painful rift in the time-space continuum +*/ +if (clustered_apic_mode && (apic !=0 ) && (irq ==0 )) +continue ; +else +add_pin_to_irq (irq, apic, pin);if (!apic && !IO_APIC_IRQ (irq))continue ;