[PATCH] remove spurious timer interrupts

Martin J. Bligh (Martin.Bligh@us.ibm.com)
Mon, 13 May 2002 16:07:19 -0700


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

diff -urN virgin-2.4.19-pre8/arch/i386/kernel/io_apic.c linux-2.4.19-pre8-time/arch/i386/kernel/io_apic.c
--- virgin-2.4.19-pre8/arch/i386/kernel/io_apic.c Tue May 7 15:21:16 2002
+++ linux-2.4.19-pre8-time/arch/i386/kernel/io_apic.c Thu May 9 17:49:28 2002
@@ -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;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/