cvs commit: src/sys/i386/isa clock.c

Bruce Evans bde at
Fri Apr 30 22:54:29 PDT 2004

On Fri, 30 Apr 2004, Mike Silbersack wrote:

> On Tue, 27 Apr 2004, John Baldwin wrote:
> > jhb         2004/04/27 13:03:27 PDT
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/i386/isa         clock.c
> >   Log:
> >   - The i8254 uses IRQ 0, not IRQ 8.  Correct i8254_intsrc to reference the
> >     correct interrupt source.
> >   - Cache a pointer to the i8254_intsrc's pending method to avoid several
> >     pointer indirections in i8254_get_timecount().
> Does this fix a bug with clock handling?  I ask because my system's clock
> has been running fast recently, and I haven't had time to investigate why
> that is occuring...

This fixes breakage of the i8254 timecounter last December by the new
interrupt code.  Counter overflow was not detected properly, so there
was sometimes a false negative which caused the clock to jump by 1/HZ
seconds.  I think false positives were also possible, and the jump for
fals negatives made the clock run fast.  However, the i8254 timecounter
is rarely used on new systems.  It is now used mainly on SMP systems
without acpi.


More information about the cvs-src mailing list