[ntp:questions] Timekeeping broken on Windows XP with multimedia timer enabled (-M option)

Martin Burnicki martin.burnicki at meinberg.de
Thu Jan 21 11:01:46 UTC 2010

David J Taylor wrote:
> "Alan" <greigaln at netscape.net> wrote in message
> news:Z9I5n.58805$Q36.5787 at newsfe19.ams2...
>> Would like to get to the bottom of this as well. Using 4.4.6-o with -M ,
>> I get "Frequency error 3030 PPM exceeds tolerance 500 PPM". Considering
>> that without =M the frequency modification is only about 5 PPM then
>> obvioulsy something very strange is going on. It seems that even if the
>> timer precision is increased by another program then time immediately
>> starts to drift rapidly by hundreds of milliseconds.

Yes, looks like timing is seriously broken on your hardware.

Dave Hart, isn't there a way to force disabling time interpolation with your
binaries even if the system time increments in 15.625 ms steps?
Maybe this could be wort a try in this special case.

> Alan,
> Our experience was that the switching between normal and high-resolution
> timers caused steps of many milliseconds (I don't recall the exact figure)
> which really messed up NTP.  So either run with no MM timers at all, or
> run with the MM timers permanently enabled, and NTP recognises that
> change, and adjusts accordingly.  Have NTP start the MM timers was one
> solution, and hence the -M option.
> It might be helpful to know what the event log says with both sets of
> startup parameters, as there may be a clue there which Dave Hart, the
> person closest to this code, can interpret.
> I must confess to having nagging doubts about AMD (but with no good
> reason),

AFAIK the CPU type (Intel or AMD, CPU family ...) should not matter if the
PM timer is used for QPC instead of the TSCs.

However, as I've mentioned in a different reply, the problem may be due to a
fault chipset.

The Linux kernel identifies quite a number of problematic hardware and
displays appropriate warnings at startup, so booting a current Linux system
(maybe from a Live CD) on that machine and watching the startup messages
*may* give some hints.

> about whether you have another program setting the time (check 
> that w32time.exe is not running - Show Processes from all users), and
> perhaps something in the BIOS.  One final idea (which there was no option
> on my test system) might be to start with just one CPU active in the BIOS.

I doubt the problem may be due to a different time sync program running
since the problem occurs if and only if the MM timer tick rate is changed.

Martin Burnicki

Meinberg Funkuhren
Bad Pyrmont

More information about the questions mailing list