This is the area to clarify hardware specification if there's anything unclear from the datasheet. If the specification is software related, please ask in the related software section.

Maximum achievable clock speed

Gents, I have a question, according to Intel Ark of the Z8350 the CPU should be able to boost its speed up to 1.92 GHz. As far as I know I have everything necessary enabled (turbo boost, speedstep, etc).

However when I put some load on all cores (e.g. launch yes > /dev/null & a couple of times), the frequencies seem to be capped at 1.68 Ghz.
root@c:~# cat /proc/cpuinfo | grep MHz
cpu MHz		: 1679.962
cpu MHz		: 1679.962
cpu MHz		: 1679.962
cpu MHz		: 1679.962
root@c:~# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:         +0.0 C  (crit = +90.0 C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +51.0 C  (high = +90.0 C, crit = +90.0 C)
Core 1:       +53.0 C  (high = +90.0 C, crit = +90.0 C)
Core 2:       +53.0 C  (high = +90.0 C, crit = +90.0 C)
Core 3:       +51.0 C  (high = +90.0 C, crit = +90.0 C)


Although sysfs reports
root@c:/sys/devices/system/cpu/cpu0/cpufreq# for i in scaling*; do echo $i = `cat $i`; done 
scaling_available_governors = performance powersave
scaling_cur_freq = 1679962
scaling_driver = intel_pstate
scaling_governor = performance
scaling_max_freq = 1920000
scaling_min_freq = 480000
scaling_setspeed = <unsupported>

Playing with intel_pstate (e.g. playing with the max/min pcft and enable/disable turbo boost):
root@c:/sys/devices/system/cpu/intel_pstate# echo 60 > max_perf_pct 
root@c:/sys/devices/system/cpu/intel_pstate# echo 60 > min_perf_pct 
root@c:/sys/devices/system/cpu/intel_pstate# cat /proc/cpuinfo | grep -i mhz
cpu MHz		: 1119.993
cpu MHz		: 1119.993
cpu MHz		: 1119.993
cpu MHz		: 1119.993
root@c:/sys/devices/system/cpu/intel_pstate# echo 100 > min_perf_pct 
root@c:/sys/devices/system/cpu/intel_pstate# echo 100 > max_perf_pct 
root@c:/sys/devices/system/cpu/intel_pstate# cat /proc/cpuinfo | grep -i mhz
cpu MHz		: 1679.962
cpu MHz		: 1679.962
cpu MHz		: 1679.962
cpu MHz		: 1679.962
root@c:/sys/devices/system/cpu/intel_pstate# echo 1 > no_turbo 
root@c:/sys/devices/system/cpu/intel_pstate# cat /proc/cpuinfo | grep -i mhz
cpu MHz		: 1440.000
cpu MHz		: 1440.000
cpu MHz		: 1439.943
cpu MHz		: 1440.000
root@c:/sys/devices/system/cpu/intel_pstate# echo 0 > no_turbo 
root@c:/sys/devices/system/cpu/intel_pstate# cat /proc/cpuinfo | grep -i mhz
cpu MHz		: 1679.962
cpu MHz		: 1679.962
cpu MHz		: 1679.962
cpu MHz		: 1679.962

So it seems to behave fine, but it just doesn't go above 1.68 GHz, anybody knows where the missing 250 MHz is ? Is there a link with possible GPU usage or so ?

Comments

  • Aling
    Aling Guest Posts: 561 admin
    It is possible that the CPU is too hot already, so it will be throttling automatically .
    To use complete 1.92Ghz is turbo mode, you may need to purchase a fan . http://up-shop.org/up-peripherals/64-active-cooler-fan-for-the-up-board.html
  • Elie De Brauwer
    Elie De Brauwer New Member Posts: 35
    Well my temperature measurements are included in my first point. What temperature is required to reach.1.92 GHz ? Even when starting my tests on a freshly booted (cooler) device it isn't going above 1.6 GHz.

    Has anybody, even those with active coolers (I actually ordered some a couple of weeks ago ...) seen the system reach 1.9 GHz ? If so at which temperatures ?

    And should some form of thermal throttling be applied, I'd expect to see these counters increase:
    root@camera:/sys/bus/cpu/devices# cat cpu*/thermal_throttle/core_throttle_count 
    0
    0
    0
    0
    
  • Fabrizio
    Fabrizio Guest Posts: 123
    hi,

    I cannot double check now but if I think that 1,92Ghz can be reached only by 2 of the 4 cores while the other 2 will run at 1.44 OR you can have 4 core at 1.68 GHZ.
    You should find the info in the datasheet of Intel x5 family.
    Cheers
  • Elie De Brauwer
    Elie De Brauwer New Member Posts: 35
    Thanks for your input Fab, I tried to reproduce what you were stating, that is, only attempting to stress a single core.

    After a boot the system looks like:
    root@c:~# sensors 
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:         +0.0 C  (crit = +90.0 C)
    
    coretemp-isa-0000
    Adapter: ISA adapter
    Core 0:       +35.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 1:       +35.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 2:       +38.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 3:       +35.0 C  (high = +90.0 C, crit = +90.0 C)
    
    root@c:~# cat /proc/cpuinfo  | grep -i mhz
    cpu MHz		: 549.731
    cpu MHz		: 511.256
    cpu MHz		: 1001.587
    cpu MHz		: 1345.050
    

    When I only launch a single instance of yes, we get the same result as my previous post, one core is going to the max somehow it also pulls up some neighboring cores (perhaps the yes process is migrating cores). But only one process should keep the system busy, again it's stuck at 1.68 GHz:
    root@c:~# cat /proc/cpuinfo  | grep -i mhz
    cpu MHz		: 1679.962
    cpu MHz		: 1679.962
    cpu MHz		: 1479.037
    cpu MHz		: 906.300
    root@c:~# sensors 
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:         +0.0 C  (crit = +90.0 C)
    
    coretemp-isa-0000
    Adapter: ISA adapter
    Core 0:       +37.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 1:       +38.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 2:       +39.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 3:       +37.0 C  (high = +90.0 C, crit = +90.0 C)
    

    Now let's try to insist a bit more, I am going to:
    [ul]
    [li]Force my yes instance to bind to core 0[/li]
    [li]Limit the upper boundary of cores 1,2,3 [/li]
    [/ul]
    root@camera:/sys/bus/cpu/devices# echo 1010475 > cpu1/cpufreq/scaling_max_freq 
    root@c:/sys/bus/cpu/devices# echo 1010475 > cpu2/cpufreq/scaling_max_freq 
    root@c:/sys/bus/cpu/devices# echo 1010475 > cpu3/cpufreq/scaling_max_freq 
    root@c:/sys/bus/cpu/devices# cat cpu*/cpufreq/scaling_min_freq
    480000
    480000
    480000
    480000
    root@c:/sys/bus/cpu/devices# cat cpu*/cpufreq/scaling_max_freq
    1920000
    1010475
    1010475
    1010475
    root@c:/sys/bus/cpu/devices# taskset -c 0 yes > /dev/null  & 
    [1] 1064
    root@c:/sys/bus/cpu/devices# cat /proc/cpuinfo | grep -i mhz
    cpu MHz		: 959.962
    cpu MHz		: 960.018
    cpu MHz		: 479.981
    cpu MHz		: 479.981
    

    Hence there seems to bee some correlation between cores 0 and 1 and 2 and 3, now let's allow the system to scale cores 0, and 1 up to 1.92 GHz.
    root@camera:/sys/bus/cpu/devices# echo 1920000 > cpu1/cpufreq/scaling_max_freq 
    root@camera:/sys/bus/cpu/devices# cat cpu*/cpufreq/scaling_max_freq
    1920000
    1920000
    1010475
    1010475
    root@camera:/sys/bus/cpu/devices# taskset -c 0 yes > /dev/null  & 
    [1] 1074
    root@camera:/sys/bus/cpu/devices# cat /proc/cpuinfo  | grep -i mhz
    cpu MHz		: 1679.962
    cpu MHz		: 1679.906
    cpu MHz		: 1420.200
    cpu MHz		: 1390.668
    root@camera:/sys/bus/cpu/devices# sensors
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:         +0.0 C  (crit = +90.0 C)
    
    coretemp-isa-0000
    Adapter: ISA adapter
    Core 0:       +41.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 1:       +41.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 2:       +42.0 C  (high = +90.0 C, crit = +90.0 C)
    Core 3:       +40.0 C  (high = +90.0 C, crit = +90.0 C)
    

    Notice that cores 2 and 3 are exceeding the 1 GHz limit (and thus not really obeying).

    The tests above were performed with the 'performance' cpu frequency governor, I also tried to put all cores on the 'powersave' governor, but this did not influence the top speed.

    Hence conclusion so far, there does seem to be a correlation between the clocks of the cores, it seems like core 0 and core 1 are somehow linked together and so are 2 and 3. I also saw that if one of the cores is forced to a very high state it will also pull some of the other 'up', and vice versa. I have seen a lot of things, but nothing which looks like 1.9 GHz. The only thing which I haven't tried, is to actually 'disable' some of the extra cores.
  • Robert Shelton
    Robert Shelton New Member Posts: 110
    Might try one of these to force temps down... Adafruit Solid State CPU Cooler

    For the moment let's ignore that the power budget for a single cooler could run a rack shelf of Up boards...
  • Marcello
    Marcello New Member Posts: 156
    I am also not able to see more than 1679MHz on all 4 cores.
    With the active cooler CPU never goes beyond 48 degree even playing a 4k video