[ntp:questions] NTP Bug 2328 - Vista/Win7 time keeping inaccurate and erratic

Martin Burnicki martin.burnicki at meinberg.de
Tue Nov 26 16:20:25 UTC 2013


David,

David Taylor wrote:
> Martin,
>
> Just for interest, following your remark about smaller polling
> intervals, I changed three PCs on my working system from:
>
>    server aa.bb.cc.dd iburst minpoll 5 maxpoll 5
> to:
>    server aa.bb.cc.dd iburst minpoll 6 maxpoll 6
>
> and in all cases the performance was no better when measuring the offset
> or the jitter.  All PCs synced to several stratum-1 servers (one
> FreeBSD, three Windows), and all using NTP development version 4.2.7p398.

I know all this is pretty tricky.

The workaround submitted in bug 2328 is to yield more accuracy under 
Windows Vista and newer only, and ntpd checks at runtime if it is 
running under a Windows version requiring the workaround, or not.

For example, if running under Win XP the workaround is not enabled 
anyway since the underlying Windows problem doesn't exist, and thus the 
time discipline works in the same way as without the workaround.

I've seen installations with Windows 7 where the Windows problem didn't 
seem to happen, and even ntpd 4.2.6p5 (without the workaround) was able 
to discipline the Windows time as expected.

On the other hand, in all installations of Win Vista and newer where the 
time adjustment loop didn't settle properly the workaround has 
significantly increased the resulting accuracy.

I've put an example graph here:
http://support.ntp.org/people/burnicki/windows/bug2328_workaround.pdf

This has been recorded on a Win 7 system, where the system time is 
disciplined by NTP from a single upstream server running Linux. The time 
quality has been measured against a GPS PCI card built into the windows 
machine.

In the first part of the graph ntpd 4.2.6p5 has been running. The tick 
adjustment values only change in small steps, but the disciplined 
Windows time has large offset and jitter.

Then the ntpd binary has been replaced by a version which includes the 
workaround. As can be seen, adjustments are now applied in larger steps, 
but the disciplined system time is very much smoother than before.

The guy who has submitted the code for the workaround said his changes 
don't work as expected if the polling interval is smaller than 6. Since 
everything else works like he described I also believe this is true, but 
I haven't tested smaller poll intervals with the patch.

Martin
-- 
Martin Burnicki

Meinberg Funkuhren
Bad Pyrmont
Germany



More information about the questions mailing list