Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jan 2003 14:26:17 -0800 (PST)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 23031 for review
Message-ID:  <200301012226.h01MQHEa035401@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=23031

Change 23031 by marcel@marcel_nfs on 2003/01/01 14:25:52

	I cannot convince myself that reloading cr.itm with a delta
	of cr.itm and not a delta of cr.itc without the logic to
	detect missed interrupts is not going to harm. Revert the
	change and add a comment. We should really use cr.itm, but
	we need to check for missed interrupts so that we don't
	reload with a value that is smaller than the current counter
	and thus don't get timer interrupts until the 64-bit counter
	wraps.

Affected files ...

.. //depot/projects/ia64/sys/ia64/ia64/interrupt.c#22 edit

Differences ...

==== //depot/projects/ia64/sys/ia64/ia64/interrupt.c#22 (text+ko) ====

@@ -128,14 +128,16 @@
 		/* Only the BSP runs the real clock */
 		if (PCPU_GET(cpuid) == 0) {
 #endif
-			ia64_set_itm(ia64_get_itm() + itm_reload);
+			/* XXX don't reload ITM based on ITC. */
+			ia64_set_itm(ia64_get_itc() + itm_reload);
 			hardclock((struct clockframe *)framep);
 			/* divide hz (1024) by 8 to get stathz (128) */
 			if ((++schedclk2 & 0x7) == 0)
 				statclock((struct clockframe *)framep);
 #ifdef SMP
 		} else {
-			ia64_set_itm(ia64_get_itm() + itm_reload);
+			/* XXX don't reload ITM based on ITC. */
+			ia64_set_itm(ia64_get_itc() + itm_reload);
 			mtx_lock_spin(&sched_lock);
 			hardclock_process(curthread, TRAPF_USERMODE(framep));
 			if ((schedclk2 & 0x7) == 0)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301012226.h01MQHEa035401>