You are not logged in.
I am on a desktop computer, thus saving power make little sense (but preventing overheating might). The cpufreq driver is set by default to intel_pstate. the default scaling_governor is "powersave", but I have set tit to "performance". Even with that, I see that my CPU is not at full speed when the CPU is idle:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz
stepping : 9
microcode : 0x17
cpu MHz : 1600.656
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6787.55
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz
stepping : 9
microcode : 0x17
cpu MHz : 1600.257
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6787.55
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz
stepping : 9
microcode : 0x17
cpu MHz : 1600.125
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6787.55
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz
stepping : 9
microcode : 0x17
cpu MHz : 2832.492
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6787.55
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:As soon as I use my CPU, I have full speed. This is a behavior I would expect from the "powersave" governor, not "performance". I hesitate to disable all this cpufreq stuff completely. When I do it, I do not see a significant increase of the CPU temperature, but it is also unclear if this actually improve performance. What should I do?
Last edited by olive (2014-10-07 08:19:43)
Offline
I never experienced any difference between the two governors with p_state. I don't even think setting them works
As stated on the wiki regarding p_state:
You can use the same user space utilities with this driver but cannot control it.
But if you want to run your cpu always on maximum frequency you can do this:
echo 100 > /sys/devices/system/cpu/intel_pstate/min_perf_pctwhich set the minimum frequency to 100%
I put at button on it. Yes. I wish to press it, but I'm not sure what will happen if I do. (Gune | Titan A.E.)
Offline
I am on a desktop computer, thus saving power make little sense
Why would power saving make little sense just because you're on a desktop??
As for the CPU frequency, it's at its lowest when the CPU is in the C1 state, and 0 when the CPU is in C3/C6/C7 states, maybe that's what you're seeing in /proc/cpuinfo. There are better tools to observe what's happening with the CPU - turbostat and powertop.
What should I do?
Nothing. Let the CPU work as it is supposed to.
Offline
I see that my CPU is not at full speed when the CPU is idle
I must admit not knowing much about how these bits work - but I find this quote very odd. I know there are different settings that (at least allegedly) control how readily the CPU will sprint at full speed when there is work to be done. But regardless of the setting, why would you want it at full speed at idle?
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
olive wrote:I see that my CPU is not at full speed when the CPU is idle
I must admit not knowing much about how these bits work - but I find this quote very odd. I know there are different settings that (at least allegedly) control how readily the CPU will sprint at full speed when there is work to be done. But regardless of the setting, why would you want it at full speed at idle?
When the CPU has really nothing to do, it is halted by the HALT instruction. Frequencies scaling put the CPU at a fraction of its capability and turn it at full speed when the CPU is used a sufficiently large proportion of the time for a certain amount of time. But this take some time, and you can still notice a slowdown/unresponsiveness. It was particularly noticeable with older CPU's and older frequency scaling method (p4-clockmod on a Pentium4, where the machine became noticeably less responsive until this was disabled). With the latest intel-pstate driver and a modern CPU, it is not clear there is still a noticeable difference if any difference at all, but I'm not sure. That's why I ask for more details.
Last edited by olive (2014-10-07 14:07:08)
Offline
p4-clockmod on a Pentium4, where the machine became noticeably less responsive until this was disabled
p4-clockmod is *not* frequency scaling. It's clock modulation. What you've observed when the clock is modulated is irrelevant when it comes to frequency scaling. That is used to be possible to use p4-clockmod as if it was frequency scaling was a bug, the kernel doesn't allow doing that for a long time now. Because clock modulation has an entirely different purpose - thermal management and not power saving. p4-clockmod doesn't save power, it makes the CPU skip cycles to prevent overheating.
If you want to learn hoew modern CPUs work, read this: https://plus.google.com/114657443111661 … Ln9T4ehywL
Last edited by Gusar (2014-10-07 14:33:35)
Offline
With the latest intel-pstate driver and a modern CPU, it is not clear there is still a noticeable difference if any difference at all, but I'm not sure. That's why I ask for more details.
On modern CPUs, disabling frequency scaling will result in a measurable performance *decrease*. Almost all CPUs now support a "turbo" state which increases performance beyond the maximum frequency for short periods of time. Think of it as a short-term overlocking burst (for up to 30 seconds) that respects the thermal limits of the CPU. Since most common user activities last less than 30 seconds (load a webpage, launch an application), this burst makes a huge difference in responsiveness.
This is why modern ultraportables perform so well. Consider the MacBook Air: it comes with a 1.4GHz processor that bursts to 2.7GHz when necessary (a 93% increase!) Disable frequency scaling and you'd effectively limit this CPU to 1.4GHz. The same principle applies even to high-end i7 CPUs, which can offer > 4GHz turbo states.
Bottom line: don't do it! Technology has progressed a lot since the P4 days.
Last edited by TheFiddler (2014-10-08 19:12:52)
The Open Toolkit: OpenGL, OpenAL, OpenCL and Vulkan for Mono/.Net.
Offline