Hi,

Together with Thomas Moestel, I have found that the following patch
seems to solve the gettimeofday() problem and stops the time drift:

--- sys/i386/isa/clock.c        Thu Aug 30 17:01:31 2001
+++ sys/i386/isa/clock.c.new    Thu Aug 30 17:01:29 2001
@@ -1203,7 +1203,7 @@
        high = inb(TIMER_CNTR0);
        count = timer0_max_count - ((high << 8) | low);
        if (count < i8254_lastcount ||
-           (!i8254_ticked && (clkintr_pending ||
+           (!i8254_ticked && (/*clkintr_pending || */
            ((count < 20 || (!(ef & PSL_I) && count < timer0_max_count /
2u)) &&
 #ifdef APIC_IO
 #define        lapic_irr1      ((volatile u_int *)&lapic)[0x210 / 4]   /*
XXX XXX */

We are looking now why this happens.

Bruce: I've looked once what value of apic_8254_intr and it was
below 24. I'll dicuss your change with Thomas and see if that
makes the same diff as our patch.

Martin


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to