I'm struggling with cpupower on ArchLinux. I want to set governor to ondemand or even to conservative.

First if I do $ sudo cpupower frequency-info --governors, I only get performance powersave.

So I look for available modules like this

ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/

...and I get

acpi-cpufreq.ko.gz
amd_freq_sensitivity.ko.gz
cpufreq_conservative.ko.gz
cpufreq_powersave.ko.gz
cpufreq_stats.ko.gz
cpufreq_userspace.ko.gz
p4-clockmod.ko.gz
pcc-cpufreq.ko.gz
powernow-k8.ko.gz
speedstep-lib.ko.gz

So, first of all no modules for "ondemand" seems to be available. What do I miss?

Then I try to enable at least conservative:

$ sudo modprobe cpufreq_conservative

then I check the module is actually loaded

$ lsmod | grep cpufreq

and check if it is now avaliable

$ sudo cpupower frequency-info --governors

but unfortunately I still get the same: performance powersave only, and if I try to enable conservative

$ sudo cpupower frequency-set -g conservative

It says that the module is not avaliable.

So basically I have two questions:

  1. What do I need to install in order to have ondemand module
  2. How can I enable it?
  • 1
    Depends on your CPU, but it is likely loaded automatically. See the Arch Wiki entry. – jasonwryan Mar 25 '14 at 19:45
  • could you please add the output of sudo cpupower frequency-info to your question. Drop the --governors to show full details. – bsd Mar 26 '14 at 16:46
up vote 31 down vote accepted

Assuming your governor is the intel_pstate (default for Intel Sandy Bridge and Ivy Bridge CPUs as of kernel 3.9). This issue is not specific to Arch, but all distros using the new Intel pstate driver for managing CPU frequency/power management. Arch linux CPU frequency scaling.


Theodore Ts'o wrote his explanation on Google+:

  • intel_pstate can be disabled at boot-time with kernel arg intel_pstate=disable
  • The problem with the ondemand governor is that it doesn't know the specific capabilities of the CPU
  • Executing some tasks with higher frequency will consume less power than would a lower frequency taking more time e.g. arithmetic stuff, but not true for all tasks e.g. loading something from memory
  • The intel_pstate driver knows the details of the how the CPU works and it does a better job than the generic ACPI solution
  • intel_pstate offers only two governors, powersave and performance. Intel claims that the intel_pstate "powersave" is faster than the generic acpi governor with "performance"

To change back to the ACPI driver, reboot and set the kernel arg intel_pstate=disable
Then execute modprobe acpi-cpufreq and you should have the ondemand governor available.

You can make the changes permanent by editing /etc/default/grub and adding

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

And then updating grub.cfg ala grub-mkconfig -o /boot/grub/grub.cfg

Follow the instructions for Arch kernel module loading and add the acpi-cpufreq module.

  • First of all, thanks for the explanation. It's clear now. I'll stay with the intel_pstate which now sounds good to me. I'm using tlp for controlling power saving on my laptop. I've set it to use "powersave" in battery mode and "performance" in ac. As "performance" will run the CPU @ its max freq all the time, do you see any issue with this? (i.e. CPU overheating or any other situation that may lead to HW issues) – lviggiani Jun 3 '14 at 14:21
  • I find that in general laptops need to be cleaned regularly, partially disassembled to get compressed air in and blow out the dust, dirt and cat hair. There's no need for performance 100% of the time just because one is on power, usually a good balanced plan will crank up the cpu as needed. – bsd Jun 4 '14 at 9:08
  • 1
    There's a difference between the generic acpi governor performance and intel_pstate performance, right? The latter is faster than both the former and intel_pstate powersave? – tsorn Feb 11 at 15:50

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.