This week’s challenge: find out how Windows DC locator process is related to AMD Opteron CPU’s…
Thanks to one of my favorite customer, we experienced that silly behavior on a set of new domain controllers running Server 2003 SP2 on servers equipped with ADM Opteron multi-core CPU’s.
When a Windows system is affected by this problem, the most common symptoms are:
- Errors logged in the Event Log: Unexpected Network Error (Event ID 1054). Event Description: Windows cannot obtain the domain controller name for your computer network. (An unexpected network error occurred.) Group Policy processing aborted.
- Ping command may report abnormal latency results
- Other applications making use of the QueryPerformanceCounter will also report strange results
At boot time, Windows select a timer mechanism used to synchronize operations between processors and/or cores: it can be PM (power management) or TSC (time-stamp counter) timer. What determines the choice is the fact that the BIOS supports APIC/ACPI or not. In the case of the Opteron, in combination with an BIOS that is not up-to-date or improperly configured, Windows incorrectly selects TSC instead of PM.
As consequence of this, the different cores are getting desynchronized over time causing the symptoms described above. This can start happening a few minutes to a few hours after booting. Restarting the system temporarily solves the problem until the drift starts again with time.
Since many system and security mechanisms make use of time-stamps, they start failing with the time skew getting larger.
To override this dynamic behavior and force the usage of PM timer, the boot.ini must be edited in order to contain the /usepmtimer switch.
Wanna know more about the issue? Go there:
- MS KB: A Windows Server 2003-based server may experience time-stamp counter drift if the server uses dual-core AMD Opteron processors or multiprocessor AMD Opteron processors
- MS KB: Programs that use the QueryPerformanceCounter function may perform poorly in Windows Server 2000, in Windows Server 2003, and in Windows XP
- MS Blog PERFGURU: Explanation for the USEPMTIMER switch in the boot.ini
Greets to Thierry G and Arnaud M and thanks for the troubleshooting session!