Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 08 Nov 1998 11:10:07 +0100
From:      Poul-Henning Kamp <phk@critter.freebsd.dk>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        current@FreeBSD.ORG, wpaul@skynet.ctr.columbia.edu
Subject:   Re: Grrr... calcru: negative time blah blah blah 
Message-ID:  <14665.910519807@critter.freebsd.dk>
In-Reply-To: Your message of "Sun, 08 Nov 1998 21:05:41 %2B1100." <199811081005.VAA24481@godzilla.zeta.org.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <199811081005.VAA24481@godzilla.zeta.org.au>, Bruce Evans writes:
>>>Timecounter strangeness seems to be only a symptom here.  I've seen
>>>similar strangeness caused by ddb masking interrupts.  However,
>>>{micro|nano}[run]time() only have obvious problems when tco_delta()
>>>overflows a u_int.   Overflow occurs after only about 10 seconds for
>>>a 400MHz tsc timecounter, but not for one hour for an i8254 timecounter.
>>
>>Uhm, it happens earlier for a i8254, in fact it happens whenever more
>>than one interrupt is lost.  The majority of the bits are software
>>bits.
>
>That's neither (C) overflow nor in {micro|nano}[run]time().  When the
>low-level i8254 timecounter is not called often enough, the timecounter
>just drops some multiple of timer0_max_count (about 11932) timecounter
>ticks.  This doesn't necessarily happen when more than one interrupt
>is lost -- it happens when the low-level timecounter is not called for
>more than (2 - epsilon) interrupt periods.  There must have been some
>low-level timecounter calls for the observed timecounter deltas to be
>more than (2 * timer0_max_count).

ahh, DuH!, yes.  erhm. you're right...

So we're back to square one:  this doesn't really look like a 
timecounter problem...

--
Poul-Henning Kamp             FreeBSD coreteam member
phk@FreeBSD.ORG               "Real hackers run -current on their laptop."
"ttyv0" -- What UNIX calls a $20K state-of-the-art, 3D, hi-res color terminal

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14665.910519807>