(1) Our measurements show that the 8253 is not as precise as the TSC.
(2) relying on the tick count for actual time is not a good idea if you
need to be very precise.If you really need to know the time in the
outside world, you should sync with a precise time of day source.
None of the PC timers are designed to provide that.
(3) No comment on the rest.
On Fri, Nov 05, 1999 at 07:10:36PM +0000, Paolo Mantegazza wrote:
> > The measurement is showing that the tsc clock (cycle timer) and the
> > worthless 8253 timer are drifting apart. On oneshot, we resynchronize
> > at every interrupt, but in periodic mode we do not. In practice
> > this problem is generally not serious: the timer does generate a
> > good periodic interrupt, it is just that it does not track the
> > cycle timer.
>
> Bad explanation, it blames the 8253 for a fault that does not belong to
> him.
>
> The problem is simply that the number used to calibrate the 8253 against
> the CPU time stamp clock (TSC) is imprecise, likely 1/1E5(6). So you
> have the drift.
>
> In practice the periodic mode goes fine not because it is recalibrated
> at each interrupt but just because the time comes always from the TSC
> and is just the single shot that is measured on either the the LOCAL
> APIC or the 8253. So your single shot is precise 1/1E5(6) that is more
> than enough since every single shot is timed relatively to the TSC.
>
> Thing can be improved a little if you calibrate accurately, but you
> cannot use two different time sources for a long lasting timing in any
> case. So, apart from the example you cite, never use the TSC to measure
> the time with a periodic timer. For such a case the only thing that you
> can rely on a long term is the tick count, i.e. the equivalent to Linux
> jiffies.
>
> Ciao, Paolo
> --- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ----
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/~rtlinux/
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/