You are not logged in.

#1 2013-09-28 17:32:21

big_bum
Member
From: Bucharest,Romania,Europe,World
Registered: 2011-08-29
Posts: 47

Kernel 3.11.2 PState problems with Haswell

I am running Archlinux with 3.11.2 default kernel on an Intel 4570 Haswell CPU. (3.2GHz, 3.6GHz turbo)
The problem in the pstate driver is the following: I can never go under CPU stock frequency (3.2GHz) even in idle. The CPU driver scales as it should between 3.2 and 3.6GHz, but it never goes below 3.2GHz.
The previous kernel (3.11.1) didn't had pstate driver included and I was running ondemand governor which worked well, scaling between 800MHz in idle and 3.6GHz in load.

Aditional detalis:

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: 800 MHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 3.60 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  boost state support:
    Supported: yes
    Active: yes
┌─[cristi @ archwell] - [/sys/devices/system/cpu/intel_pstate]
└─[20:16:36]─[>]cat max_perf_pct min_perf_pct no_turbo 
100
22
0

Changing max_perf_pct to a lower value makes the CPU run at a frequency lower than 3.2GHz.For instance, setting it to 22, which is the same in min_perf_pct makes the CPU run at 800MHz, so actually the driver works as in "it can scale", but it doesn't go automatically below 3.2GHz in idle.
For monitoring frequency I am using i7z, conky, cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq, watch grep \"cpu MHz\" /proc/cpuinfo.
There is nothing that hogs the CPU.

PS: yes, I know that a solution is "intel_pstate=disable", but in my opinion this is a regression in the kernel since 3.11.1 was OK (altough no pstate driver was used) and 3.11.2 is not OK.

Offline

#2 2013-09-28 17:43:19

65kid
Member
From: Germany
Registered: 2011-01-26
Posts: 663

Re: Kernel 3.11.2 PState problems with Haswell

There is no problem. The frequency has nothing to with how much power your CPU actually uses.

https://plus.google.com/117091380454742 … vEekAsG2QT

Today (well, last 5 years), the frequency in idle is zero, and even the voltage is now zero (NHM and later).... so what frequency the OS picks during the idle period is completely irrelevant. This, and other things, make ondemand not a good algorithm for current Intel processors.

Offline

#3 2013-09-28 19:50:38

big_bum
Member
From: Bucharest,Romania,Europe,World
Registered: 2011-08-29
Posts: 47

Re: Kernel 3.11.2 PState problems with Haswell

Hmm, so you're telling me that if setting max frequency (3.6GHz) I will stil have the same power consumption as having the lowest frequency?
I mean, this must be somehow wrong, not totaly, because that's why C-states and P-states exist, but because of the voltage needed by the CPU to maintain stability at that frequency.
Am I missing something?

LE: Seems I can't set maximum frequency, even though I echoed 100 in min_perf_pct. Eh, well, I give up.

Last edited by big_bum (2013-09-28 19:57:56)

Offline

#4 2013-09-28 22:58:22

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,140

Re: Kernel 3.11.2 PState problems with Haswell

3.11.1 definitely  contained the pstate driver. Just possibly support for your cpu has been added in 3.11.2?

The driver definitely should scale the frequency. For example, I get this:

# cpupower -c 0,1,2,3 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: 800 MHz - 1.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 1.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz (asserted by call to hardware).
  boost state support:
    Supported: no
    Active: no
    1400 MHz max turbo 4 active cores
    1400 MHz max turbo 3 active cores
    1400 MHz max turbo 2 active cores
    1400 MHz max turbo 1 active cores
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: 800 MHz - 1.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 1.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.34 GHz (asserted by call to hardware).
  boost state support:
    Supported: no
    Active: no
    1400 MHz max turbo 4 active cores
    1400 MHz max turbo 3 active cores
    1400 MHz max turbo 2 active cores
    1400 MHz max turbo 1 active cores
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: 800 MHz - 1.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 1.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.13 GHz (asserted by call to hardware).
  boost state support:
    Supported: no
    Active: no
    1400 MHz max turbo 4 active cores
    1400 MHz max turbo 3 active cores
    1400 MHz max turbo 2 active cores
    1400 MHz max turbo 1 active cores
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: 800 MHz - 1.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 1.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.15 GHz (asserted by call to hardware).
  boost state support:
    Supported: no
    Active: no
    1400 MHz max turbo 4 active cores
    1400 MHz max turbo 3 active cores
    1400 MHz max turbo 2 active cores
    1400 MHz max turbo 1 active cores

That doesn't show it at 800 but it definitely does go lower. Note that you are running cpupower without sudo which will not give you complete - or accurate - information. For example, it won't show the current frequency. And it may show misleading information as well. Without sudo, cpupower reports the max turbo value on my machine as 25500 MHz.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#5 2013-09-29 06:36:32

combuster
Member
From: Serbia
Registered: 2008-09-30
Posts: 711
Website

Re: Kernel 3.11.2 PState problems with Haswell

I have the same problem with SandyBridge i5-2400.

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.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.60 GHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 3.35 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    3200 MHz max turbo 4 active cores
    3300 MHz max turbo 3 active cores
    3300 MHz max turbo 2 active cores
    3400 MHz max turbo 1 active cores
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.60 GHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.60 GHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 3.29 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    3200 MHz max turbo 4 active cores
    3300 MHz max turbo 3 active cores
    3300 MHz max turbo 2 active cores
    3400 MHz max turbo 1 active cores
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.60 GHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.60 GHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 3.29 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    3200 MHz max turbo 4 active cores
    3300 MHz max turbo 3 active cores
    3300 MHz max turbo 2 active cores
    3400 MHz max turbo 1 active cores
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.60 GHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.60 GHz and 3.40 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 3.26 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    3200 MHz max turbo 4 active cores
    3300 MHz max turbo 3 active cores
    3300 MHz max turbo 2 active cores
    3400 MHz max turbo 1 active cores

I've started noticing this when CPU temps at idle increased by 7-8 degrees more then usual. Conky never showed freq below 3.2GHz...

Last edited by combuster (2013-09-29 06:38:56)

Offline

#6 2013-09-29 07:57:09

big_bum
Member
From: Bucharest,Romania,Europe,World
Registered: 2011-08-29
Posts: 47

Re: Kernel 3.11.2 PState problems with Haswell

cfr wrote:

3.11.1 definitely  contained the pstate driver. Just possibly support for your cpu has been added in 3.11.2?

The driver definitely should scale the frequency. For example, I get this:

That doesn't show it at 800 but it definitely does go lower. Note that you are running cpupower without sudo which will not give you complete - or accurate - information. For example, it won't show the current frequency. And it may show misleading information as well. Without sudo, cpupower reports the max turbo value on my machine as 25500 MHz.

Yes, maybe in 3.11.2 support for my CPU was added.
The driver scales, but from 3.2 to 3.6.

@combuster I don't see a increase in temperature, altough higher frequency means higher voltages.
PS: I am running cpupower as root/sudo and I don't have the same output as you, guys.

Offline

#7 2013-09-29 19:04:01

janoliver
Member
Registered: 2011-06-01
Posts: 54

Re: Kernel 3.11.2 PState problems with Haswell

Same problem here! 3.2 is the lowest it gets.

Offline

#8 2013-09-29 21:09:33

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,140

Re: Kernel 3.11.2 PState problems with Haswell

My frequency readings do seem higher than they used to be but my temperatures don't.

Is there actually a problem here?


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#9 2013-09-29 21:25:33

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Kernel 3.11.2 PState problems with Haswell

cfr wrote:

My frequency readings do seem higher than they used to be but my temperatures don't.

Is there actually a problem here?

I see that everyone seems to be using cpupower to be reading the frequency.  I am pretty sure that this is not entirely reliable, as the pstate driver allows for even faster frequency changes than before.  You should be using i7z I think to determine if the processor is able to properly enter the c-states that allow for power savings.

Basically, if you are noticing that there is a slightly different temp, but still the same performance and still the same battery life/power consumption, then I think things are actually okay.  Considering that there has been a complete overhaul about how to processor determines its frequency, it seems like with that some changes in the running state and thermal output should be acceptable.

Of course, if you are seeing dangerously high cpu temperatures, have noticed s massive decrease in performance, or have lost significant amounts of time off your battery life, then there might be something to be concerned about.

Oh, and BTW, last I checked, i7z had not been updated to be able to handle Haswell's new deeper c-states, so using that might not be as straight forward as one might hope.

Offline

#10 2013-09-29 21:50:41

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,140

Re: Kernel 3.11.2 PState problems with Haswell

Also, isn't that for i7? Or is the name really misleading?


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#11 2013-09-29 21:53:08

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Kernel 3.11.2 PState problems with Haswell

It is for all core i* processors.  So I guess… misleading.

Offline

#12 2013-09-29 22:08:52

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,140

Re: Kernel 3.11.2 PState problems with Haswell

I guess because it only _now_ supports i3 and i5, it seems. At least, it didn't used to.

Interesting. Mine doesn't seem to use C6 at all but there is a C7 which there is no explanation of.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#13 2013-09-29 22:17:21

combuster
Member
From: Serbia
Registered: 2008-09-30
Posts: 711
Website

Re: Kernel 3.11.2 PState problems with Haswell

With i7z cores 1-3 are almost all the time in C6 state and core 0 is 100% in C0. Freqency never drops below 3.2 GHz on any of the cores and Core 0 is most of the time on  3.4GHz (turbo kicks in). Temperature for Core 2 is 36 degrees as it should be when idle, but all other cores are 44-45C and this is this 7-8 degrees increase that I saw when I switched to p-state driver. This is on my custom kernel and as I remember, I've noticed this for the first time after compiling 3.11.0-rc1 but the bug could be there for a while (3.10).

I do have, on the other hand, CONFIG_NO_HZ_FULL set to yes. I'll try reverting this and see what happens.

Offline

#14 2013-09-29 22:20:46

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,140

Re: Kernel 3.11.2 PState problems with Haswell

Is that a desktop? I've never seen temps that low on my laptop.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#15 2013-09-29 22:28:42

combuster
Member
From: Serbia
Registered: 2008-09-30
Posts: 711
Website

Re: Kernel 3.11.2 PState problems with Haswell

Yes, it's a desktop, compiling 3.12.0-rc2 with dynticks_idle instead of dynticks_full right now...

Offline

#16 2013-09-29 22:35:55

combuster
Member
From: Serbia
Registered: 2008-09-30
Posts: 711
Website

Re: Kernel 3.11.2 PState problems with Haswell

OK, with dynticks_idle everything works as it should, 36-38 C temperatures, all cpu's are most of the time in C6, frequency scales as low as 1.8GHz, so this is a full dynticks issue. At least for me.

Last edited by combuster (2013-09-29 22:36:13)

Offline

#17 2013-09-30 00:19:33

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Kernel 3.11.2 PState problems with Haswell

Yeah, I've seen on multiple occasions, people being told not to use CONFIG_NO_HZ_FULL with intel_pstate.  I guess this confirms those recommendations…

Offline

#18 2013-09-30 07:01:10

janoliver
Member
Registered: 2011-06-01
Posts: 54

Re: Kernel 3.11.2 PState problems with Haswell

I am using the standard kernel. Right now, i7z reports frequencies just below 3600 MHz, althought nothing is running really on the computer. Temperatures are very low, though:

        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp
        Core 1 [0]:       3479.77 (34.88x)         1    99.3       0       0    21
        Core 2 [1]:       3266.08 (32.74x)         1    99.9       0       0    26
        Core 3 [2]:       3376.46 (33.85x)         1    99.9       0       0    19
        Core 4 [3]:       3520.32 (35.29x)         1    98.8       1       0    23

In that sense, nothing to worry about. Yet, I rather would see 800MHz somewhere than the 3600.

Offline

#19 2013-11-02 04:13:49

silenceleaf
Member
Registered: 2013-03-16
Posts: 38

Re: Kernel 3.11.2 PState problems with Haswell

Same problem in my haswell Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz , it never runs below than 2.7MHz, but on windows it can run in 800MHz, and lower power comsuming.

Offline

Board footer

Powered by FluxBB