[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