public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fix timer interrupts on NUMA-Q
@ 2002-07-11  0:37 Martin J. Bligh
  0 siblings, 0 replies; only message in thread
From: Martin J. Bligh @ 2002-07-11  0:37 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

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.

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;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-07-11  0:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-11  0:37 [PATCH] fix timer interrupts on NUMA-Q Martin J. Bligh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox