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.
This commit is contained in:
parent
8d48c36eaf
commit
f2fbc423a1
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user