diff options
author | jhb <jhb@FreeBSD.org> | 2001-04-17 17:53:36 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-04-17 17:53:36 +0000 |
commit | f2fbc423a1ad683d0efe728a88f7c66adff62fef (patch) | |
tree | 769be54df94c7ba53860bf8fff8ad267b74dfc93 /sys/kern/kern_clock.c | |
parent | 8d48c36eafb05846e154bd7d7b518e1ededde774 (diff) | |
download | FreeBSD-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/kern_clock.c')
-rw-r--r-- | sys/kern/kern_clock.c | 6 |
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 |