[ntp:questions] ntp-4.2.6p5 on Win 7 x64

Martin Burnicki martin.burnicki at meinberg.de
Mon Jul 21 14:36:24 UTC 2014


Nick wrote:
> Brian
>
> thanks for your useful reply...
>
> On Fri, 18 Jul 2014 02:03:48 +0000, Brian Inglis wrote:
>
>> Windows is using the MM timer as its high precision time source, not PM
>> timer, HPET or TSC.

Huh, I didn't know (and I doubt) that NTP uses the MM timer as time source.

Years ago there was a problem with NTP under Windows that the 
interpolated system time used internally by ntpd got messed up when some 
*other* program started to set the Windows MM timer to highest 
resolution, e.g to play some multimedia stuff.

As a workaround I submitted a patch to ntpd which lets the NTP service 
itself set the MM timer resolution high when it starts, so there are no 
more other effects on the interpolated time when some other application 
also does so.

The workaround comes in effect if the -M parameter is given on the 
command line, and this is the default case for installations from the 
Meinberg setup program.

> Yes.  I found the entry in the application log.  I checked the old XP box
> where ntp works well and that's using the MM timer.

This log message is just an information that the patch I've submitted 
has set the MM timer resolution high. It does *not* affect the kind of 
timer Windows has chosen to keep the system time.

>> This is always my sign that ntpd offset will diverge, and requires a
>> system restart, or more.

Huh?

Just stopping ntpd, removing the -M parameter, and starting the service 
should have the same effect.

In Vista and newer the system time increments in 1 ms steps only 
(instead in about 16 ms steps as in earlier versions), so newer versions 
of ntpd don't even use interpolation if 1 ms steps are detected.

It would be a nice test to find out if the presence or absence of the -M 
parameter makes a difference, and if timekeeping is affected if -M is 
not used but some multimedia stuff is played.


>> Also when leap=11 that is the alarm state that says there are issues.
>
> Does leap=11 mean the server is not sync'd?

This means your running ntpd could not (yet) synchronize to other time 
sources.

>> Wait until reach is 377 on all sources and check again for leap=00.
>
> I removed the -M from the service executable command and rebooted.
>
> After 15 minutes I got this
>
> C:\Users\nick>ntpq -pn
>       remote           refid      st t when poll reach   delay   offset
> jitter
> ==============================================================================
> -143.210.16.201  158.43.192.66    2 u   33   64  377   32.491  181.643
> 121.179
> +85.119.80.233   110.116.250.33   3 u   29   64  377   29.461   59.626
> 88.079
> +176.74.25.228   193.47.164.28    3 u   21   64  377   30.159   91.825
> 72.384
> +176.74.25.227   193.11.166.8     2 u   32   64  377   30.065   20.692
> 117.706
> +5.39.184.5      87.195.109.207   3 u   26   64  377   37.018   -3.686
> 138.898
>   94.228.220.14   .INIT.          16 u    -   64    0    0.000    0.000
> 0.000
> *130.88.212.143  193.62.22.90     2 u   36   64  377   37.078   62.566
> 93.284
>
> C:\Users\nick>ntpq -c rv
> associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
> version="ntpd 4.2.7p450 at 1.2483-o Jul 17 7:20:46.78 (UTC+01:00) 2014  (1)",
> processor="x86", system="Windows", leap=00, stratum=3, precision=-22,
> rootdelay=46.020, rootdisp=139.381, refid=130.88.212.143,
> reftime=d773f6dd.29fb24ea  Fri, Jul 18 2014 20:41:17.163,
> clock=d773f753.cf14ee36  Fri, Jul 18 2014 20:43:15.808, peer=40459, tc=6,
> mintc=3, offset=67.250982, frequency=431.145, sys_jitter=54.722048,
> clk_jitter=36.149, clk_wander=0.139
>
> ntp.conf...
>
> restrict default nomodify notrap nopeer noquery
> restrict 127.0.0.1
> restrict -6 ::1
> driftfile "C:\Tools (x86)\NTP\etc\ntp.drift"
> server 0.uk.pool.ntp.org iburst  minpoll 6 maxpoll 6
> server 1.uk.pool.ntp.org iburst minpoll 6 maxpoll 6
> server 2.uk.pool.ntp.org iburst minpoll 6 maxpoll 6
> server 3.uk.pool.ntp.org iburst minpoll 6 maxpoll 6
> server 0.nl.pool.ntp.org iburst minpoll 6 maxpoll 6
> server 1.nl.pool.ntp.org iburst minpoll 6 maxpoll 6
> server ntp2d.mcc.ac.uk iburst minpoll 6 maxpoll 6
> enable stats
> statsdir "C:\Tools (x86)\NTP\etc\"
> statistics loopstats
>
> It's working! So the MM timer seems to mess up ntp on Win 7 but not on
> XP.

Tried to explain above what the MM timer stuff is for.

Can you check what happens if you run any other application which sets 
the MM timer high?

Previously if was sufficient to play some audio or video, or point your 
web browser to a page containing multimedia content to mess up Windows 
timekeeping again.

> This performance is marginal for WSJTX.  I need 10ms offset or less after
> 15 minutes.
>
> I would like to have used the pool directive in ntp.conf but the
> development versions don't seem to process it.  (The Meinberg monitor
> says unknown clock type.)

The Meinberg NTP monitor doesn't know this directive. Current versions 
of the NTP package should support it, though.

> To put it in perspective here's the performance I get on the same machine
> when I boot Mint 17.
>
> nick at mint17-01 ~ $ ntpq -pn
>       remote           refid      st t when poll reach   delay   offset
> jitter
> ==============================================================================
> -129.250.35.251  192.93.2.20      2 u   50   64  377   37.766   -0.413
> 22.384
> +176.58.109.199  131.188.3.223    2 u   51   64  377   29.532    3.113
> 1.482
> *178.79.160.57   130.133.1.10     2 u   48   64  377   29.074    2.984
> 1.994
> -87.117.251.3    129.215.160.240  3 u   46   64  377   29.621    1.225
> 1.466
> +130.88.212.143  193.62.22.90     2 u   42   64  377   37.233    1.904
> 1.187
>
> nick at mint17-01 ~ $ ntpq -c rv associd=0
> status=0615 leap_none, sync_ntp, 1 event, clock_sync,
> version="ntpd 4.2.6p5 at 1.2349-o Wed Oct  9 19:08:06 UTC 2013 (1)",
> processor="x86_64", system="Linux/3.13.0-24-generic", leap=00, stratum=3,
> precision=-23, rootdelay=31.652, rootdisp=59.450, refid=85.234.136.65,
> reftime=d773f099.353d9b27  Fri, Jul 18 2014 20:14:33.207,
> clock=d773f2b2.69839d3d  Fri, Jul 18 2014 20:23:30.412, peer=14600, tc=6,
> mintc=3, offset=1.095, frequency=-20.457, sys_jitter=1.518,
> clk_jitter=0.703, clk_wander=0.101
>
> This uses pool pool.uk.ntp.org and server ntp2d.mcc.ac.uk.
>
> Is it possible to ever get the same level of performance on Windows 7?
>

Martin
-- 
Martin Burnicki

Meinberg Funkuhren
Bad Pyrmont
Germany



More information about the questions mailing list