[time-nuts] x86 CPU Timekeeping and clock generation

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Jan 6 13:18:31 UTC 2021


--------
Magnus Danielson writes:

> If the actual clock is more than 15 ppm off from the value in the drift
> file, it will never track in the frequency error. This is due to
> algorithm error in the NTPD. I have pointed out this problem, but there
> have been very little interest in fixing it.

You're thinking of the integrator-windup issue ?

Yeah, that's very old news.  I think I first documented it to Dave
Mills in 1994, but I never managed to convince him to take my fix
(Clamp I-term until D-term has the correct sign for the resiudal).

That's when I started writing my own PLLs.

In general, the driftfile should never be used if NTP has a network
connection, it's raison-d'être was primarily the machines syncing
time via telephone twice per day.


PS: The drift file also soak up rounding/truncation errors in the
    kernels timekeeping code.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.




More information about the Time-nuts_lists.febo.com mailing list