Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 May 2007 12:11:29 +0200 (CEST)
From:      Oliver Fromme <olli@lurza.secnetix.de>
To:        freebsd-stable@FreeBSD.ORG, imp@bsdimp.com, peterjeremy@optushome.com.au
Subject:   Re: clock problem
Message-ID:  <200705111011.l4BABTfh061274@lurza.secnetix.de>
In-Reply-To: <20070510.225643.-713548429.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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."

 > Most PC clocks have a frequency error on the order of 10-150ppm, so it
 > doesn't take a whole lot of jitter from a conjectsted remote network
 > to exceed the limits...

I think the "burst" and "iburst" options for the server lines
in ntp.conf might help in such cases.

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).

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

"C++ is to C as Lung Cancer is to Lung."
        -- Thomas Funke



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705111011.l4BABTfh061274>