When running a virtualized Windows Server with SMP (multi-processor) on hardware that has an AMD processor, you may notice a strange issue with timing. It is easy to recognize; open a Command Prompt, and ping an IP address (I ping-ed a local peer). You will get strange response times, such as -61000, 2100, etc. The response times will range all over the place.  Otherwise, the system will appear to be functioning normally.

The fix, is simple. You need to tell Windows to use the pmtimer on boot. To do this, edit the boot.ini file:

- login with administrator rights
- Select Start, Run
- type “notepad c:\boot.ini”

You are usually looking for the first line under the “[operating systems]” tag. At the end of the line you will see things like “/fastdetect” etc. You want to add “/usepmtimer” (without the quotes) to that line, or whichever line represents the one you select to start Windows.

Then reboot, and your SMP virtualized guest will work normally.

I tested this under the latest version of Proxmox, which is using KVM-83. This probably is needed under Xen, and possibly under VMWare platforms when using 64bit.