Windows 2000 Update Rollup 1 disables HLT/STPGNT command

Cooling Processors quietly

Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee

Post Reply
jojo4u
Posts: 806
Joined: Sat Dec 14, 2002 7:00 am
Location: Germany

Windows 2000 Update Rollup 1 disables HLT/STPGNT command

Post by jojo4u » Mon Jul 11, 2005 7:40 am

Apparently an updated Windows 2000 does no longer send HLT/STPGNT commands to the CPU when idle, which results in a higher power draw and temperature on P4 and Athlon systems.
http://www.webservertalk.com/message1123123.html reports that the new version of the hal.dll seems to cause the fault. The author there reverted to the old version and is happy again.

jojo4u
Posts: 806
Joined: Sat Dec 14, 2002 7:00 am
Location: Germany

Post by jojo4u » Mon Jul 11, 2005 8:09 am

Digging a bit deeper, I found out that windows has several hal.dll available. My hal.dll in the system32 directory was initially named halaacpi.dll. So be careful when ovewriting you HAL. I have Windows XP so I can't check.

EDIT: I downloaded the Update and discovered that it provides a new halmacpi.dll which is suitable for ACPI Multiprocessor PC HAL und ACPI Multiprocessor APIC.
So if you have a P4 with activated(?) hyperthreading or a SMP system, you should be affected.

brigitte
Posts: 38
Joined: Fri May 27, 2005 1:18 am
Location: Netherlands

Post by brigitte » Tue Jul 12, 2005 9:21 am

I installed the update just now and there's no hal.dll in the directory mentioned (indicating it wasn't replaced). Mine is an Athlon XP, maybe it's just Pentiums that are affected.

jojo4u
Posts: 806
Joined: Sat Dec 14, 2002 7:00 am
Location: Germany

Post by jojo4u » Tue Jul 12, 2005 9:34 am

You are affected if you have a P4 with hyperthreading, a dualcore CPU or a 2+ multiprocessor system.

If you look at the "orginal name" in the version tab of the properties of your hal.dll in the sytem32 folder and it's called "halmapci.dll" you are affected.
The new file should have the version 5.0.2195.7006. You can find the old file in c:\$%Windowsdir%\NtUpdateRollupPackUninstall$. In order to fix the problem, just copy the backed up one into the system32 folder.

You also could install cpuidle extreme and configure the "s1" mode. This starts an extra idle process issuing HLT instructions.

Post Reply