public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] [PATCH] fix timer interrupts getting lost
@ 2003-04-24  4:16 Alex Williamson
  2003-04-24 11:56 ` Takayoshi Kochi
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Alex Williamson @ 2003-04-24  4:16 UTC (permalink / raw)
  To: linux-ia64

[-- Attachment #1: Type: text/plain, Size: 402 bytes --]


    This patch fixes the issue of some CPUs not showing timer interrupts
going off.  Seems during the process of sync'ing the itc, we jumped over
the next timer value.  This patch is against 2.5.67 + ia64.  I haven't
seen the problem on 2.4, but a quick looks seems like it's potentially
an issue there too.  Thanks,

	Alex

--
Alex Williamson                             HP Linux and Open Source Lab

[-- Attachment #2: smp_timer_fix.diff --]
[-- Type: text/plain, Size: 523 bytes --]

--- linux-2.5.67.clean/arch/ia64/kernel/smpboot.c	2003-04-22 13:58:09.000000000 -0600
+++ linux-2.5.67/arch/ia64/kernel/smpboot.c	2003-04-23 20:25:00.000000000 -0600
@@ -311,6 +311,15 @@
 		 */
 		Dprintk("Going to syncup ITC with BP.\n");
 		ia64_sync_itc(0);
+
+		/*
+		 * Make sure we didn't sync the itc ahead of the next
+		 * timer interrupt, if so, just reset it.
+		 */
+		if (time_after(ia64_get_itc(),local_cpu_data->itm_next)) {
+			Dprintk("oops, jumped a timer.\n");
+			ia64_cpu_local_tick();
+		}
 	}
 
 	/*

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-05-09 20:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-24  4:16 [Linux-ia64] [PATCH] fix timer interrupts getting lost Alex Williamson
2003-04-24 11:56 ` Takayoshi Kochi
2003-05-06 18:59 ` David Mosberger
2003-05-09 20:44 ` Bjorn Helgaas

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