fix timer interrupts on NUMA-Q
PATCH 1/1 fix timer interrupts on NUMA-Q
Since I turned on the IO-APICs on secondary quads, 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.
This fix is already in 2.4 - I'm playing catchup with 2.5 - the same patch applies with just a line offset
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 ;