You are not logged in.
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
What is i7z have to say about the situation?
Offline
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
Whoa! That is one sweet tool Gusar! Thanks for pointing that out.
Offline
Thanks for your suggestions
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
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
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
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
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 packages • Zsh and other configs
Offline
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
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
yes, thank you for hijacking my thread
still looking for suggestions for my original issue
Offline
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
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
Offline