summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-04-17 17:53:36 +0000
committerjhb <jhb@FreeBSD.org>2001-04-17 17:53:36 +0000
commitf2fbc423a1ad683d0efe728a88f7c66adff62fef (patch)
tree769be54df94c7ba53860bf8fff8ad267b74dfc93 /sys/kern
parent8d48c36eafb05846e154bd7d7b518e1ededde774 (diff)
downloadFreeBSD-src-f2fbc423a1ad683d0efe728a88f7c66adff62fef.zip
FreeBSD-src-f2fbc423a1ad683d0efe728a88f7c66adff62fef.tar.gz
Fix an old bug related to BETTER_CLOCK. Call forward_*clock if SMP
and __i386__ are defined rather than if SMP and BETTER_CLOCK are defined. The removal of BETTER_CLOCK would have broken this except that kern_clock.c doesn't include <machine/smptests.h>, so it doesn't see the definition of BETTER_CLOCK, and forward_*clock aren't called, even on 4.x. This seems to fix the problem where a n-way SMP system would see 100 * n clk interrupts and 128 * n rtc interrupts.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_clock.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_clock.c b/sys/kern/kern_clock.c
index 72d8c62..c7492c7 100644
--- a/sys/kern/kern_clock.c
+++ b/sys/kern/kern_clock.c
@@ -184,7 +184,7 @@ hardclock(frame)
}
}
-#if defined(SMP) && defined(BETTER_CLOCK)
+#if defined(SMP) && defined(__i386__)
forward_hardclock(pscnt);
#endif
@@ -357,7 +357,7 @@ statclock(frame)
p = curproc;
if (p->p_sflag & PS_PROFIL)
addupc_intr(p, CLKF_PC(frame), 1);
-#if defined(SMP) && defined(BETTER_CLOCK)
+#if defined(SMP) && defined(__i386__)
if (stathz != 0)
forward_statclock(pscnt);
#endif
@@ -387,7 +387,7 @@ statclock(frame)
}
}
#endif
-#if defined(SMP) && defined(BETTER_CLOCK)
+#if defined(SMP) && defined(__i386__)
if (stathz != 0)
forward_statclock(pscnt);
#endif
OpenPOWER on IntegriCloud