# Intel Turbo Boost i7

## mjbiscuits

I am having issues getting Intel Turbo Boost to work with my i7. It worked fine when I was running Arch on this box but is something I cannot get to work correctly on Gentoo.

CPU: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz

This CPU has Turbo Boost up to 4.4 GHz

Output of:

```

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies

```

Shows that 4.4 GHz can never be achieved

```

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

4001000 4000000 3800000 3500000 3300000 3100000 2900000 2600000 2400000 2200000 1900000 1700000 1500000 1300000 1000000 800000 

```

Anyone have any ideas of how to get this working?

----------

## krinn

https://forums.gentoo.org/viewtopic-p-7634148.html#7634148

----------

## mjbiscuits

I've read the link but do not see how it applies. My scaling max frequency is set at 4 GHz not 4.4 GHz so the turbo boost will never be applied if I am correct?

```

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 

4001000

4001000

4001000

4001000

4001000

4001000

4001000

4001000

```

----------

## albright

my i7-2600 has max freq of 3400 but turbo works fine

I installed i7z to get current values and under load it

reports cpu going above 3400

----------

## krinn

You are comparing orange and apple.

One feature is to slow down cpu to save energy base on some state (cpu throttling, running on battery...)

And the other feature, cpu boost, is a feature to overclock some cores when busy but not on all cores (the idea is to max out cpu usage for non multi thread program that use few cores by increasing the core in use mhz)

So when you read possible freq done by cpufreq you are reading possible values of the cpu on its energy saving ability ; nothing related to cpu boost.

Turbo boost freq are design by intel, and enable under conditions define by intel, you can look at what they are or their state with i7z but you could keep inspecting freq scaling datas, it will never answer it.

For my i7 here's the result (as you see, i'm not handling freq_scaling at all):

```
LC_ALL=C cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 

cat: /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq: No such file or directory

i7n

->  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  25x/24x/24x/24x

```

----------

## mjbiscuits

I think I get it now   :Smile:  So i7z produces the following output:

```

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 4098.97 MHz (99.97 x [41])

  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  45x/45x/45x/45x

  Real Current Frequency 4482.73 MHz [99.97 x 44.84] (Max of below)

        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp

        Core 1 [0]:       4481.05 (44.82x)      99.8       0       0       0    49

        Core 2 [1]:       4482.73 (44.84x)       1.5    98.3       0       0    39

        Core 3 [2]:       4475.89 (44.77x)      1.91    97.9       0       0    32

        Core 4 [3]:       4478.99 (44.80x)         1    99.2       0       0    34

```

So I am assuming that turbo  boost is indeed working as I am achieving 4.4 GHz. What is interesting is that I am using conky on my i3 bar to show current frequency and these give completely different numbers. Should this be the case of am I just being stupid?

----------

## albright

 *Quote:*   

>  What is interesting is that I am using conky on my i3 bar to show current frequency and these give completely different numbers. 

 

conky may be using /proc/cpuinfo to get the freq which I understand is unreliable

----------

## krinn

it will be harder for you as in all cases your cpu handle a boost of x45, the speed is done on cores, not on the cpu.

So your cpu is running 4ghz, but cores may run at 4.4ghz

Wonder why they put a turbo boost fix to 4.4ghz in all cases, they should just had no cpuboost and tag it 4.4ghz in your case. I suppose some other conditions could alter it i'm not aware of.

So your cpu is 4ghz, it could run a 4.4ghz on each cores, but it's not running "always" 4.4ghz on each cores.

Max running 4.4ghz doesn't mean all cores will run at 4.4ghz, they could be at min 4ghz, and max 4.4ghz, but in between values too.

----------

## haarp

 *mjbiscuits wrote:*   

> I've read the link but do not see how it applies. My scaling max frequency is set at 4 GHz not 4.4 GHz so the turbo boost will never be applied if I am correct?
> 
> ```
> 
> $ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 
> ...

 

Incorrect. You see two frequencies: 4001000 4000000

4000 is 4000 MHz.

4001 is 4000 MHz with optional turboboost.

With turbo, Linux reads the frequency WRONG. The frequency scaling driver does not handle turbo, the CPU itself does. Linux always believes the scaling driver, so you only see the 4001 frequency. Use tools like i7z or turbostat to see the real frequency.

----------

