System load viewer: reported CPU frequency misleading

Project:Linux hardware
Component:Documentation
Category:support request
Priority:normal
Assigned:Unassigned
Status:active
Project wiki:Hardware
Related pages:#36: CPU - Central Processing Unit :-:-: #37: KDE System Load Viewer widget
Description

I have a phenom II CPU whose frequency is variable, according to system load.
I do see the frequency change according to what I am doing, but I have never seen it go to its full potential speed, even when I do cpu intensive tasks (blender rendering, dar archive encryption...).

Why doesn't it go full speed?
Can we force it to boost to the maximum manually?

Comments

#1

cat /proc/cpuinfo

AMD Phenom(tm) II X4 955 Processor
which is advertised as having a maximum frequency of 3.2 GHz.
Usually is is iddle at 800Mhz, but the maximum I've seen it go is 2200 Mhz.

#2

http://en.wikipedia.org/wiki/Cool'n'Quiet
Cool'n'Quiet is a CPU speed throttling and power saving technology introduced by AMD with their Athlon 64 processor line. It works by reducing the processor's clock rate and voltage when the processor is idle. The aim of this technology is to reduce overall power consumption and lower heat generation, allowing for slower (thus quieter) cooling fan operation.

Cool'n'Quiet is fully supported in Linux from 2.6.18 and FreeBSD from 6.0-CURRENT onward (using the powernow-k8 driver)

#3

# cpufreq-info
The program 'cpufreq-info' is currently not installed. You can install it by typing:
apt-get install cpufrequtils
cpufreq-info: command not found

Hmmm. It was not installed by default.

#4

# cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.   
analyzing CPU 0:                                             
  driver: powernow-k8                                        
  CPUs which need to switch frequency at the same time: 0    
  hardware limits: 800 MHz - 3.20 GHz
  available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 3.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 3.20 GHz:16.93%, 2.50 GHz:0.73%, 2.10 GHz:3.75%, 800 MHz:78.59%  (1579843)
analyzing CPU 1:
  driver: powernow-k8
  CPUs which need to switch frequency at the same time: 1
  hardware limits: 800 MHz - 3.20 GHz
  available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 3.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 3.20 GHz:13.22%, 2.50 GHz:0.55%, 2.10 GHz:2.68%, 800 MHz:83.55%  (1259917)
analyzing CPU 2:
  driver: powernow-k8
  CPUs which need to switch frequency at the same time: 2
  hardware limits: 800 MHz - 3.20 GHz
  available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 3.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 3.20 GHz:14.40%, 2.50 GHz:0.42%, 2.10 GHz:3.19%, 800 MHz:81.99%  (1555634)
analyzing CPU 3:
  driver: powernow-k8
  CPUs which need to switch frequency at the same time: 3
  hardware limits: 800 MHz - 3.20 GHz
  available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 3.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 2.10 GHz (asserted by call to hardware).
  cpufreq stats: 3.20 GHz:11.07%, 2.50 GHz:0.53%, 2.10 GHz:2.39%, 800 MHz:86.01%  (972537)

#5

Related pages:+36: CPU - Central Processing Unit

wiki.

#6

I am using the KDE4 "system load viewer" widget on my desktop, and it is it that usually gives me the information about the current load.

What I usually observe with the widget does not correspond to the data above, namely:

available frequency steps: 3.20 GHz, 2.50 GHz, 2.10 GHz, 800 MHz

These are not the stepping I observe. I'll try to make a list of observed steps here: 800, 1125, 1400, 1450, 1725, 2000, ...

cpufreq stats: 3.20 GHz:16.93%, 2.50 GHz:0.73%, 2.10 GHz:3.75%, 800 MHz:78.59%

Well, I have never seen 3.20 GHz, let alone 17% of the time!

#7

The unit in the widget is actually Mhz/CPU... yet I think all 4 cores have the same frequency no matter what...

#8

Oh!
Apparently, it is not so: cores can have different frequencies. At a time of high load, I caught this:

# cat /proc/cpuinfo
processor       : 0                                             
vendor_id       : AuthenticAMD                                  
cpu family      : 16                                            
model           : 4                                             
model name      : AMD Phenom(tm) II X4 955 Processor            
stepping        : 2                                             
cpu MHz         : 800.000                                       
cache size      : 512 KB                                        
physical id     : 0                                             
siblings        : 4                                             
core id         : 0                                             
cpu cores       : 4                                             
apicid          : 0                                             
initial apicid  : 0                                             
fpu             : yes                                           
fpu_exception   : yes                                           
cpuid level     : 5                                             
wp              : yes                                           
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt                            
bogomips        : 6427.84                                                                                                   
TLB size        : 1024 4K pages                                                                                             
clflush size    : 64                                                                                                        
cache_alignment : 64                                                                                                        
address sizes   : 48 bits physical, 48 bits virtual                                                                         
power management: ts ttp tm stc 100mhzsteps hwpstate                                                                        

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 16         
model           : 4          
model name      : AMD Phenom(tm) II X4 955 Processor
stepping        : 2                                
cpu MHz         : 800.000                          
cache size      : 512 KB                           
physical id     : 0                                
siblings        : 4                                
core id         : 1                                
cpu cores       : 4                                
apicid          : 1                                
initial apicid  : 1                                
fpu             : yes                              
fpu_exception   : yes                              
cpuid level     : 5                                
wp              : yes                              
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt                            
bogomips        : 6429.06                                                                                                   
TLB size        : 1024 4K pages                                                                                             
clflush size    : 64                                                                                                        
cache_alignment : 64                                                                                                        
address sizes   : 48 bits physical, 48 bits virtual                                                                         
power management: ts ttp tm stc 100mhzsteps hwpstate                                                                        

processor       : 2
vendor_id       : AuthenticAMD
cpu family      : 16         
model           : 4          
model name      : AMD Phenom(tm) II X4 955 Processor
stepping        : 2                                
cpu MHz         : 3200.000                         
cache size      : 512 KB                           
physical id     : 0                                
siblings        : 4                                
core id         : 3                                
cpu cores       : 4                                
apicid          : 3                                
initial apicid  : 3                                
fpu             : yes                              
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips        : 6429.06
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor       : 3
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 4
model name      : AMD Phenom(tm) II X4 955 Processor
stepping        : 2
cpu MHz         : 3200.000
cache size      : 512 KB
physical id     : 0
siblings        : 4
core id         : 2
cpu cores       : 4
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips        : 6429.06
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

Note the different frequencies: 800, 800, 3200 and 3200.

The widget is misleading!

#9

Related pages:+37: KDE System Load Viewer widget

wiki.

#10

Title:Boost AMD CPU» System load viewer: reported CPU frequency misleading

Document what I found above.

The problem is with the widget.

#11