You are not logged in.

#1 2013-10-29 23:01:06

ooo
Member
Registered: 2013-04-10
Posts: 1,638

why isn't my intel cpu getting below C3 sleep state?

cpu in question is Intel Celeron B815 (sandy bridge)

for some reason, no matter how idle my system is, the cpu is never getting below the C3 sleep state according to powertop idle stats:

          Package   |             Core    |            CPU 0
                    |                     | C0 active   0.4%
                    |                     | POLL        0.0%    0.0 ms
                    |                     | C1E-SNB     0.0%    0.1 ms
C2 (pc2)    0.1%    |                     |
C3 (pc3)   40.4%    | C3 (cc3)   99.2%    | C3-SNB     99.2%   31.5 ms
C6 (pc6)    0.0%    | C6 (cc6)    0.0%    |
C7 (pc7)    0.0%    | C7 (cc7)    0.0%    |

I've tried minimizing wakeups by closing X server, network & other daemons but that didn't make any difference, although there were still ~15 wakeups/s

Is it possible that deeper sleep states aren't supported by my cpu, even though powertop displays them in idle stats, or do I have to enable them somehow?

Offline

#2 2013-10-29 23:03:28

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

Re: why isn't my intel cpu getting below C3 sleep state?

What is i7z have to say about the situation?

Offline

#3 2013-10-29 23:13:12

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: why isn't my intel cpu getting below C3 sleep state?

Two possibilities: You're on AC power, but the deeper states are only available on battery. Or powertop isn't showing things correctly. In the tools dir of the kernel source is a quite awesome thing for tracking C states, turbostat. Get that and see what it says. An example of turbostat output on my Haswell desktop:

cor CPU    %c0  GHz  TSC SMI    %c1    %c3    %c6    %c7 CTMP PTMP   %pc2   %pc3   %pc6   %pc7  Pkg_W  Cor_W GFX_W
          0.40 3.51 2.89   0   2.69   0.12   0.10  96.69   33   34  92.74   0.00   0.00   0.00   8.01   0.34  0.01
  0   0   0.84 3.52 2.89   0   3.78   0.39   0.20  94.79   33   34  92.74   0.00   0.00   0.00   8.01   0.34  0.01
  1   1   0.75 3.51 2.89   0   5.47   0.09   0.20  93.49   33
  2   2   0.02 3.35 2.89   0   1.49   0.00   0.00  98.49   29
  3   3   0.01 3.45 2.89   0   0.02   0.00   0.00  99.98   32

Last edited by Gusar (2013-10-29 23:15:11)

Offline

#4 2013-10-29 23:24:38

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

Re: why isn't my intel cpu getting below C3 sleep state?

Whoa!  That is one sweet tool Gusar!  Thanks for pointing that out.

Offline

#5 2013-10-29 23:59:02

ooo
Member
Registered: 2013-04-10
Posts: 1,638

Re: why isn't my intel cpu getting below C3 sleep state?

Thanks for your suggestions smile

I'm definately not on ac, also at least gnome seems to recognize when I'm on ac/battery.

tried turbostat but I'm still getting same kind of results that I got from powertop (>95% on C3, C6 and C7 both stay at 0%)
didn't try i7z but I don't think the output would be any different..

Offline

#6 2013-11-02 08:56:48

ooo
Member
Registered: 2013-04-10
Posts: 1,638

Re: why isn't my intel cpu getting below C3 sleep state?

I tried disabling intel_idle and using acpi_idle instead but the problem seems to persist, indicating this is probably not related to *_idle driver. also checked the max_cstate parameter, which was at 9.
I've also tried updating the microcode and bios, but neither helped. There aren't any options on bios to configure c-states either.

also tried turbostat from arch install disk and there was no difference

If anyone has any more ideas, please let me know

Last edited by ooo (2013-11-02 09:01:25)

Offline

#7 2013-11-03 14:32:45

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

Re: why isn't my intel cpu getting below C3 sleep state?

Same problem happens on my laptop haswell CPU(Core(TM) i7-4800MQ ), 800MHz is its lowest frequency, 3.7GHz is highest, and 2.7 is standard, it can only run in 2.7GHz, never below. No matter I compile kernel with CONFIG_NO_HZ_FULL set to yes. But in windows it can run in 800MHz, and power saving.

Offline

#8 2013-11-03 14:44:35

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: why isn't my intel cpu getting below C3 sleep state?

Two things:

First, this thread is about C states, but you're mentioning frequencies, so you can't have "the same problem".

Second, freq scaling is an outdated concept on modern Intel CPUs. In deeper C states, the freq is zero anyway. See this thread for more info: https://bbs.archlinux.org/viewtopic.php?id=169409. Oh, also, the intel_pstate driver doesn't like CONFIG_NO_HZ_FULL yet, so don't use it.

Last edited by Gusar (2013-11-03 14:46:25)

Offline

#9 2013-11-03 14:48:51

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,600
Website

Re: why isn't my intel cpu getting below C3 sleep state?

WonderWoofy wrote:

What is i7z have to say about the situation?

Make sure to use i7z-git since even proper ivybridge support isn't in the 0.27.2 yet.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#10 2013-11-03 15:44:53

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

Re: why isn't my intel cpu getting below C3 sleep state?

Gusar wrote:

Two things:

First, this thread is about C states, but you're mentioning frequencies, so you can't have "the same problem".

Second, freq scaling is an outdated concept on modern Intel CPUs. In deeper C states, the freq is zero anyway. See this thread for more info: https://bbs.archlinux.org/viewtopic.php?id=169409. Oh, also, the intel_pstate driver doesn't like CONFIG_NO_HZ_FULL yet, so don't use it.

Hi, I read that post. You mean the newest CPU will always run in standard frequency or the i7z can't display right frequency?

In my i7z, the output like this:

Cpu speed from cpuinfo 2694.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2693 MHz
  CPU Multiplier 27x || Bus clock frequency (BCLK) 99.74 MHz

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]
  TURBO ENABLED on 4 Cores, Hyper Threading ON
  Max Frequency without considering Turbo 2792.74 MHz (99.74 x [28])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  37x/36x/35x/35x
  Real Current Frequency 2694.74 MHz [99.74 x 27.02] (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp
        Core 1 [0]:       2681.61 (26.89x)      2.05      96       1       1    46
        Core 2 [1]:       2691.61 (26.99x)      1.67      96       1    1.34    46
        Core 3 [2]:       2694.74 (27.02x)         1    99.8       0       0    47
        Core 4 [3]:       2694.05 (27.01x)         1     100       0       0    44

Offline

#11 2013-11-03 15:48:05

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

Re: why isn't my intel cpu getting below C3 sleep state?

Gusar wrote:

Two things:

First, this thread is about C states, but you're mentioning frequencies, so you can't have "the same problem".

Second, freq scaling is an outdated concept on modern Intel CPUs. In deeper C states, the freq is zero anyway. See this thread for more info: https://bbs.archlinux.org/viewtopic.php?id=169409. Oh, also, the intel_pstate driver doesn't like CONFIG_NO_HZ_FULL yet, so don't use it.


Sorry to bother you again, I can't find C7 state display in i7z (only C6), C7 only exists inside CPU?

Edit: In the newest i7z-git, I find C7 state display, thank you!

Last edited by silenceleaf (2013-11-03 15:52:50)

Offline

#12 2013-11-03 17:26:13

ooo
Member
Registered: 2013-04-10
Posts: 1,638

Re: why isn't my intel cpu getting below C3 sleep state?

yes, thank you for hijacking my thread hmm

still looking for suggestions for my original issue

Offline

#13 2013-11-03 18:19:12

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: why isn't my intel cpu getting below C3 sleep state?

There's something I just noticed... I only saw that you have a Sandy Bridge processor, but now I see it's a Celeron. Celerons are are feature-deprived, that's what differentiates them from Core processors. It's very much possible that deeper C states is one of the features missing, so what you're seeing is totally OK. This page agrees with me: http://www.notebookcheck.net/Intel-Cele … 413.0.html

Last edited by Gusar (2013-11-03 18:25:25)

Offline

#14 2013-11-03 22:26:19

ooo
Member
Registered: 2013-04-10
Posts: 1,638

Re: why isn't my intel cpu getting below C3 sleep state?

Yeah, I'm starting to think that as well.. I checked the processor specs on couple of sites including the one you linked,but didn't notice the thing about how some power saving features could be disabled..

although I still find it odd that the kernel driver seems to recognize the deeper sleep states, even though it cannot use them. maybe it only checks that it is sandy bridge processor and thus should support sleep states up to C7, even though they have been disabled on the processor..

anyway thanks Gusar and everybody for your input smile

Offline

Board footer

Powered by FluxBB