Setting cpu frequency manually and the driver acpi-cpufreq

Dear all,

Q: In order to tune the math library ATLAS http://math-atlas.sourceforge.net/ , I need to set the all CPU cores with the same frequency. http://math-atlas.sourceforge.net/atlas_install/node5.html

Unfortunately I was not able to do that, because

What is not done
CPU throttling (ACPI T-States)

While this can be useful for systems which tend to overheat, it is not an option to save power. Most hardware itself (CPUs) has a good overheat detection and are doing throttling on their own when a certain temperature is reached.

The main reason behind why the operation system (kernel/userspace) is not doing it is that throttling doesn’t give you any power savings. The CPU just skips some clock ticks without actually reducing the frequency. It just makes the system slow which in turn means that tasks require more time to finish up keeping the whole system busy. Don’t do that on your own!

    1. I’m using openSUSE 13.1 and it uses driver intel_pstate
      which provides only two CPU scaling governors, “powersave” and “performance” rather than “userspace”

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to http://bugs.opensuse.org, please.
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: 0.97 ms.
  hardware limits: 1.20 GHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 3.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 3.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 3.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 3.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.

Can I … ? install another cpu driver “acpi-cpufreq” by myself, which offers the “userspace” governor , or any other trick as the workaround? :\

PS, here is an old thread https://forums.opensuse.org/showthread.php/407955-can-t-disable-cpu-throttling. The C.F.U. - CPU Frequency Utility cannot solve the problem.

Thanks in advance!
gundamlh

Add intel_pstate=disable as a kernel parameter and you’ll be using normal cpufreq.

To test it, when you are presented with the openSUSE boot loader, press E, find the line with Linux and add it to the end and press F10 to boot with it. After that you should be able to use cpufrequtils (cpufreq-set etc) to control performance.

Here is an example where I’ve added 3 to the end to boot into text mode only, you’ll want to add the intel_pstate=disable instead;

http://i.imgur.com/EgIxNQB.png

Hi Miuku,

Thank you very much for the help! rotfl!

Follow your hint, I type in the terminal

 
/boot/grub2> sudo vim grub.cfg

and find that the text block mentioned in your reply occurs several times in different places in the same file.

Should I add that kernel parameter at all the places? :\ I guess the first one is enough. (Have a try first)

Just try it once to see if it works for you before you make permanent changes! :slight_smile:

Once you have tried and if it works properly, you can use yast -> bootloader to make the settings permanent via a GUI.

PROBLEM SOLVED !!!

lol!

Thank you very much!

cheers,
gundamlh