Running cpuspeed crashes the system under Fedora Core 4 (32-bit)

Symptom

On the Marquis C500 series, running cpuspeed crashes the system under Fedora Core 4 32-bit edition. Once this occurs, the system is unresponsive and requires a manual reboot.

Dec 19 09:56:34 asl89 kernel: acpi-cpufreq: CPU0 - ACPI performance management activated.
Dec 19 09:56:34 asl89 kernel: ACPI-0294: *** Error: Looking up [_PPC] in namespace, AE_ALREADY_EXISTS
Dec 19 09:56:34 asl89 kernel: ACPI-1138: *** Error: Method execution failed [\\_PR_.CPU1._PDC] (Node c2c69ec0), AE_ALREADY_EXISTS
Dec 19 09:56:34 asl89 kernel: acpi-cpufreq: CPU1 - ACPI performance management activated.

The symptom affects other models including Marquis C432, C510 and Lancelot 1170, 2840, 2842.

Solution

The crash occurs because the kernel module, p4_clockmod, has not been loaded. As a workaround, disable cpuspeed from starting automatically by running the following command:

# chkconfig cpuspeed off

Afterward, add the following two lines to /etc/rc.d/rc.local. This will load the missing kernel module before running cpuspeed.

modprobe p4_clockmod
/etc/rc.d/init.d/cpuspeed start

Note: It is best not to use cpuspeed on the Pentium D platforms including the Marquis C432, C500, C510 and the Lancelot 1170, 2842. Even though cpuspeed will run after loading p4_clockmod, the software is not reliable and should be disabled (default setting at the factory).

Since the Fedora Core 4 installer enables cpuspeed automatically, the system will crash during a subsequent boot after the OS reinstallation. To avoid the crash, boot the system into the single user mode. At the Grub menu, press 'e' for edit. Using the cursor key, select the kernel line and press 'e' again. Next append the keyword 'single' at the end of the line. Then hit enter and press 'b' to boot. At the shell prompt, run the following commands:

# chkconfig cpuspeed off
# reboot

Note: The command 'cat /proc/cpuinfo' always display the highest processor clock frequency. To view the current processor clock frequency, run these commands:

[root@asl89 ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
375000
[root@asl89 ~]# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq
375000

Since the Pentium D processor contains two physical cores, there are separate current clock speed entries in cpu0 and cpu1. In the example above, both cores are running at 375mhz during idle state.