How to use ACPI CPUfreq driver in Red Hat Enterprise Linux 7 ?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 7.x

Issue

Getting below errors while loading ACPI CPUfreq driver

# modprobe acpi_freq
modprobe: FATAL: Module acpi_freq not found. 
# modprobe acpi-cpufreq
FATAL: Error inserting acpi_cpufreq (/lib/modules/2.6.32-220.13.1.el6.x86_64/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko): No such device

In some cases observing below messages on bootup :

kernel: p4-clockmod: Warning: EST-capable CPU detected. The acpi-cpufreq
module offers voltage scaling in addition of frequency scaling. You 
should use that instead of p4-clockmod, if possible.

Resolution

  • First ensure that the system BIOS is configured to allow the OS to control CPU power management.

Ex : Follow below ways in case of HP ProLiant DL380 Gen10 Hardware

System configuration ---> Bios ---> Power Management and then changed 'Power Profile' to custom and Power Regulator to 'OS Control Mode'
alt text

Note: Above ways will be different in case of different hardware,the main objective is just to switch control of Power Management to OS.

  • Second add intel_pstate=disable as kernel command line parameter
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel_hp/root rd.lvm.lv=rhel_hp/swap intel_pstate=disable  console=ttyS0,115200"

Refer How do I permanently modify the kernel command line in RHEL7?

Verify the presence of intel_pstate=disable parameter within the /proc/cmdline file:

# grep intel_pstate /proc/cmdline

Diagnostic Steps

  • Following CPUfreq modules are available
$ ls /lib/modules/<kernel-version>/kernel/drivers/cpufreq
acpi-cpufreq.ko.xz  amd_freq_sensitivity.ko.xz  cpufreq_stats.ko.xz  p4-clockmod.ko.xz  pcc-cpufreq.ko.xz  powernow-k8.ko.xz  speedstep-lib.ko.xz
  • Initially following outputs displayed
$ cpupower frequency-info 
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU  <<------ 
  CPUs which run at the same hardware frequency: Not Available
  CPUs which need to have their frequency coordinated by software: Not Available
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: Not Available
[..........]

$ cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate  <<------ 
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 2.40 GHz
  available cpufreq governors: conservative userspace powersave ondemand performance
  current policy: frequency should be within 1.20 GHz and 2.40 GHz.
                  The governor "performance" may decide which speed to use
[..................]

After following Resolution we can confirm from below command output that ACPI CPUfreq module loaded

$ cpupower frequency-info
analyzing CPU 0:
**driver: acpi-cpufreq**   <<-----
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 1.20 GHz - 2.40 GHz
  available frequency steps:  2.40 GHz, 2.40 GHz, 2.30 GHz, 2.20 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz
  available cpufreq governors: conservative userspace powersave ondemand performance
  current policy: frequency should be within 1.20 GHz and 2.40 GHz.
                  The governor "performance" may decide which speed to use
[........]

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments