clock problem
Oliver Fromme
olli at lurza.secnetix.de
Sat May 12 11:08:36 UTC 2007
M. Warner Losh wrote:
> Oliver Fromme wrote:
> : M. Warner Losh wrote:
> : > Peter Jeremy wrote:
> : > : There seems to be a bug in ntpd where the PLL can saturate at
> : > : +/-500ppm and will not recover. This problem seems too occur mostly
> : > : where the reference servers have lots of jitter (ie a fairly congested
> : > : link to them).
> : >
> : > Yes. This is a rather interesting misfeature of ntpd. Its rails are
> : > at +/- 500ppm, and when it hits the rail it assumes that things are
> : > too bad to continue and it stops.
> :
> : I think it is related to the maximum slew rate of 1/2000,
> : which is equivalent to 500 ppm. The ntpd(8) manpage says:
> :
> : "Since the slew rate of typical Unix kernels is limited to
> : 0.5 ms/s, each second of adjustment requires an amortization
> : interval of 2000 s."
> :
> : And a bit further down:
> :
> : "The maximum slew rate possible is limited to 500 parts-per-
> : million (PPM) as a consequence of the correctness principles
> : on which the NTP protocol and algorithm design are based.
> : As a result, the local clock can take a long time to converge
> : to an acceptable offset, about 2,000 s for each second the
> : clock is outside the acceptable range."
>
> I think you are confusing two things here. One is the maximum
> frequency error of the system clock that ntpd can tolerate. The other
> is the maximum slew rate of the system clock.
I'm aware of that. It just caught my eye that both of
those values are the same.
> : Of course, the best solution is to buy a GPS or DCF radio
> : receiver and set up a startum-1 yourself. But last time
> : I tried to do that with a cheap DCF plug, it wasn't very
> : well supported on FreeBSD. Even an expensive Mainberg
> : receiver ( http://www.meinberg.de/english/ ) with an RS232
> : output worked much more accurately with a Solaris machine
> : than with FreeBSD. (Unfortunately, the Mainberg model
> : availbale to us did not have NTP support via ethernet
> : itself, only serial output.) I have to admit that that
> : was in FreeBSD 4.x days. The situation might have
> : improved in the meantime (I don't know).
>
> My company has used FreeBSD's ntpd since 3.x with a small, custom
> driver that I wrote. It turns out to work very well in practice. I'd
> suggest that it is well supported, even in FreeBSD 4.x. It isn't well
> documented.
I guess you're talking about the kernel part. That's
probably true. However, we had two problems (with that
Meinberg receiver in particular):
First, there was no working driver. I had to hack one
of the existing drivers so it would work with the
signals sent from the Meinberg clock. And I agree that
it isn't well documented.
Second, the serial port code of FreeBSD was a problem.
It caused terrible jitter, and I wasn't able to fix it.
It was completely unusable. I'm afraid I don't have
exact numbers anymore, it has been a few years ago, but
when we connected the same receiver to a Solaris machine,
the jitter went away.
On a related note, some time ago I got a cheap DCF radio
receiver for my private use (~ EUR 50). It has a parallel
port connector, I think. I was unable to find a driver
that would work under FreeBSD. It caused me to do a bit
of research about what receivers are actually supported
under FreeBSD, and which can be bought without too much
trouble (without paying EUR 1000 like those Meinberg boxes
cost). I couldn't find any. The ntp docs mention some
devices that seemingly could be bought 10 years ago, but
they're not available anymore today.
Well, so now I'm back to using a bunch of public NTP
servers in my ntp.conf, and the DCF receivers catches
dust in some cardboard box in the attic. :-)
Best regards
Oliver
--
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd
"I have stopped reading Stephen King novels.
Now I just read C code instead."
-- Richard A. O'Keefe
More information about the freebsd-stable
mailing list