You are not logged in.

#1 2013-05-13 15:52:22

train_wreck
Member
Registered: 2011-10-22
Posts: 97

[SOLVED] cpu not scaling after transition to intel_pstate driver

I have an intel DH77EB  sandy bridge mobo & core i3 2120 3.3GHz cpu. I know that recently, the driver used to set CPU governors on newer intel cpus changed to intel_pstate. Ever since this happened, I am unable to get the cpu to run at the maximum speed using the "performance" governor. This used to work with the old driver, but now no matter what I do, the clock speed keeps fluctuating around 1.5-2GHz.

/etc/default/cpupower:

# Define CPUs governor
# valid governors: ondemand, performance, powersave, conservative, userspace.
governor='performance'

# Limit frequency range
# Valid suffixes: Hz, kHz (default), MHz, GHz, THz
min_freq="3.29GHz"
max_freq="3.30GHz"

# Specific frequency to be set.
# Requires userspace governor to be available.
# Do not set governor field if you use this one.
#freq=

# Utilizes cores in one processor package/socket first before processes are
# scheduled to other processor packages/sockets.
# See man (1) CPUPOWER-SET for additional details.
#mc_scheduler=

# Utilizes thread siblings of one processor core first before processes are
# scheduled to other cores. See man (1) CPUPOWER-SET for additional details.
#smp_scheduler=

#  Sets a register on supported Intel processore which allows software to convey
# its policy for the relative importance of performance versus energy savings to
# the  processor. See man (1) CPUPOWER-SET for additional details.
#perf_bias=

# vim:set ts=2 sw=2 ft=sh et:

and output of 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: 0.97 ms.
  hardware limits: 1.60 GHz - 3.30 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.29 GHz and 3.30 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.78 GHz (asserted by call to hardware).
  boost state support:
    Supported: no
    Active: no
    25500 MHz max turbo 4 active cores
    25500 MHz max turbo 3 active cores
    25500 MHz max turbo 2 active cores
    25500 MHz max turbo 1 active cores

As you can see, it definitely SAYS that frequency should be within 3.29-3.30 GHZ, but it's not.
I initially didn't set min_ and max_freq values (because it was never necessary before), but did this in an attempt to lock the clockspeed, obviously without success.

Any ideas?

Last edited by train_wreck (2013-05-13 19:06:33)

Offline

#2 2013-05-13 17:46:51

Morn
Member
Registered: 2012-09-02
Posts: 886

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

Are you sure the reported frequency values are correct? From the other Sandy Bridge thread (and Wikipedia) I got the impression that cpupower, conky, etc. will all report wrong frequencies with the pstate driver.

Personally I've reverted to 3.8.11 for the moment until I fully grok pstate and find out how to get pstate info into conky. Right now pstate is a bit too magical and obscure for my taste. wink Even the Arch Wiki does not seem to help.

Offline

#3 2013-05-13 18:26:45

train_wreck
Member
Registered: 2011-10-22
Posts: 97

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

I see. yes, the wiki page mentions nothing about a possible inaccuracy. So maybe it actually IS running at 3.3. I will say that /proc/cpuinfo reports the same values as cpupower.... idk if that makes a difference tho

Offline

#4 2013-05-13 18:56:55

cris9288
Member
Registered: 2013-01-07
Posts: 348

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

unless you really want to work with inetl_pstate, you could just add intel_pstate=disable to your kernel command. Next time you boot acpi_cpufreq should be loaded and you can proceed as usual.

Offline

#5 2013-05-13 19:06:05

train_wreck
Member
Registered: 2011-10-22
Posts: 97

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

hey thanks, that works fine for now.

Offline

#6 2013-05-13 19:52:08

David Batson
Member
Registered: 2011-10-13
Posts: 640

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

This other user reports a method for changing pstate.

https://bbs.archlinux.org/viewtopic.php … 4#p1271694

Offline

#7 2013-05-13 19:56:37

train_wreck
Member
Registered: 2011-10-22
Posts: 97

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

yeah i tried that, didn't work.

Offline

#8 2013-05-14 10:15:16

Morn
Member
Registered: 2012-09-02
Posts: 886

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

Great, now somebody in the know please start a pstate article in the Arch Wiki. Enabling this stuff by default without any documentation can't be the Arch way.

Offline

#9 2013-05-14 11:00:18

Druedain
Member
From: Poland
Registered: 2011-12-27
Posts: 51

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

Hi!

For now you have to manually put that

cpupower frequency-set -g performance

after every reboot (or create script which will be loaded after every reboot).

Offline

#10 2013-05-14 23:03:11

train_wreck
Member
Registered: 2011-10-22
Posts: 97

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

Druedain wrote:

Hi!

For now you have to manually put that

cpupower frequency-set -g performance

after every reboot (or create script which will be loaded after every reboot).

yeah, that's how I normally was doing it. But when I started using the intel_pstate driver, that no longer seemed to function properly. As in, "cpupower frequency-info" or /proc/cpuinfo would say that it was running under the "performance" profile, but the clock speed would still be fluctuating around as if it was set on "conservative"or something.

All I was looking to do was just disable the speed-stepping entirely and have the chip run at full speed all the time; this machine is a router/server that's always on and i don't have a reason to have it be fluctuating, also it was kind of screwing with my vpn's crypto performance.

Once again thanks for the info all.

Offline

#11 2013-05-14 23:45:53

Druedain
Member
From: Poland
Registered: 2011-12-27
Posts: 51

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

Have you tried that for checking cpu freq:

# watch cat /sys/devices/system/cpu/cpu{0..3}/cpufreq/cpuinfo_cur_freq

?

Offline

#12 2013-05-15 03:38:51

train_wreck
Member
Registered: 2011-10-22
Posts: 97

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

No i had not, is it a different value than /proc/cpuinfo or cpupower?

Offline

#13 2013-05-15 08:55:24

Druedain
Member
From: Poland
Registered: 2011-12-27
Posts: 51

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

Only this works now wink

Offline

#14 2013-05-16 02:16:33

train_wreck
Member
Registered: 2011-10-22
Posts: 97

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

word

Offline

#15 2013-06-30 13:32:19

hoschi
Member
From: Ulm (Germany)
Registered: 2008-11-03
Posts: 458

Re: [SOLVED] cpu not scaling after transition to intel_pstate driver

Take a look at this discussion:
https://plus.google.com/117091380454742 … vEekAsG2QT

1. intel_pstate can be disabled at boot-time with intel_pstate=disable or compile it out
2. the old problem with ondemand (and conservative) governors is and was, that they don't know the specific capabilities of the cpu
3. executing some tasks with highest-frequency possible is consuming less power, than taking more time with lower frequency e.g. arithmetic stuff
4. this is not true for all tasks e.g. loading something from main-memory
5. here comes intel_pstate: it knows how the specific cpu works and does it job better than a generic solution, also it seems to handle "boost" better
6. furthermore intel_pstate offers only two governors: powersave and performance
    even "powersave" is faster than the generic acpi based approach with "performance" (maybe handles "boost" better)
    also "performance" doesn't enforce the default frequency as "lower limit", like the old generic approch, but performance is anyway only ~ 1% faster

You can still select between these two governors with "cpupower frequency-set -g powersave/performance".

Run CPU with fixed frequency
Your good right. You paid for it! There are some good reasons for this:

  • Requirement of 100% reliable performance and answer-times

  • Bbenchmarking/Comparsion

  • Stress-Testing e.g. is CPU never throttled with your provided cooling solution

That is simple, set intel_pstate=disable at boot or remove it from your self compiled kernel. Now you can use the old generic acpi-based generic governors.
Or: Switch Powersave/Boost off in your BIOS/UEFI. This is what I do on desktops.

I will stay with intel_pstate and the default governor "powersave". It seems to do a good job at power-saving and my ThinkPad even runs faster smile
Maybe it would be less confusing if intel_pstate also overs a "fixed" governor which forces the default-frequencies. But this is merely "intel_pstate=disable".

Offline

Board footer

Powered by FluxBB