NTPD unable to adjust local clock
Matthew Dillon
dillon at apollo.backplane.com
Tue Apr 5 18:45:26 PDT 2005
I've investigated this a bit more. OpenBSD's ntpd is just not up to
snuff. It has no PLL locking code at all and the result is that the
timekeeping is constantly out of whack, oscillating back and forth as
ntpd does its occassional adjtime() based corrections. If it isn't
out of whack due to the clock being fast or slow, it's out of whack due
to the adjtime() call trying to correct 5 minutes worth of creep with a
single call. My test boxes are oscillating between -10ms and +25ms of
error and they have fairly accurate clocks. Any boxes with inaccurate
clocks are going to be hit hard. A 1 second error is easy to accumulate
with a clock that is only 0.3% off.
It's totally unacceptable but I don't have time before the release
to fix it.
After the release we are either going to have to go back to the ntpd
we had before, or we are going to have to make some major changes to
OpenBSD's code. The code looks clean enough that we can probably make
the required changes, but the work is going to be a bit too involved to
maintain it as a contrib and a patch set... we'd have to import the
code for real and maintain it in our tree.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Users
mailing list