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

Joe Gwinn joegwinn at comcast.net
Tue Jul 22 13:14:24 UTC 2014


In article <84lv9b-i5v.ln1 at ubuntu-server-1.py.meinberg.de>, Martin
Burnicki <martin.burnicki at meinberg.de> wrote:

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

Back in the day, video (and later audio) drivers were the culprit in
messing realtime up as well.  The drivers performed a hardware bus lock
of some kind during transfers.  This in addition to setting a very high
priority, and trumped anyone else setting high priority.  I never knew
the exact details, but it was one of many reasons why one does not use
Windows for realtime, unless one's idea of realtime is *very* relaxed. 
Although Windows has improved over the years, its latency still isn't
predictable enough for realtime of any stringency.  

Reliability is also an issue - the rule is that if one cannot tolerate
a forced reboot every few months or so, don't use Windows.  I know that
many Windows systems don't fall over nearly that often, but some do,
often for no known reason, and that's enough.  Only worst-case behavior
matters.

A typical architecture in my world is to use Linux or a RTOS like
VxWorks for the RT core, talking via UDP exchange over ethernet to a
Windows box housing the GUI.  Humans don't notice the timing burps, and
can reboot the GUI box as needed.

Joe Gwinn



More information about the questions mailing list