[coreboot] CPU Turbo [KGPE-D16]

Taiidan at gmx.com Taiidan at gmx.com
Thu Mar 16 04:12:59 CET 2017


On 12/19/2016 01:03 PM, Timothy Pearson wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 12/16/2016 07:13 PM, Taiidan at gmx.com wrote:
>> y'all helpful as always >:D
>>
>> On 12/12/2016 03:00 PM, Timothy Pearson wrote:
>>
>> On 12/11/2016 07:52 PM, Taiidan at gmx.com wrote:
>>>>> Thanks! helpful as always >:D
>>>>> Yes c states and cc6 states are enabled, 1 or 2 cores can get up to
>>>>> around 100mhz or so less than turbo 2 however I cannot get the whole
>>>>> advertised 8 or even 4 (i get max around 2.5ghz as reported by "cpupower
>>>>> monitor" ), my temp is 35C with full load cpu usage and my fans nearly
>>>>> off (tower cooler) so I don't think that could be the issue.
>> Interesting.  Are these the results of the turbostat program?  What does
>> powertop show in the idle stats?
>>> Powertop, around 96-98% or so.
>>> Turbostat doesn't show turbo frequencies for some reason under tsc_mhz,
>>> and average cpu freq is lower than wcpupower monitor reports.
>>> With a single 100% cpu thread I can get to 3ghz (still a little short),
>>> however with every thread I add the clock speed goes slightly down.
>>> Weird stuff.
> I strongly suspect Linux is scheduling threads on the other cores,
> causing the black box inside the CPU to momentarily take the highly
> loaded CPU(s) out of maximum boost for brief intervals.  turbostat and
> friends work by measuring the TSC over a period of time to detect
> boosted operation, and being "a little short" of maximum boost is
> consistent with this theory.
>
>>> Is there a way to view and force c-states? I tried using
>>> turionpowercontrol but it didn't work, the cpu simply clocked up again
>>> and it only has a max cstate and not a min cstate option.
>>> I am curious is there a way to disable the second half of the 16 core
>>> CPU optys in coreboot?
> No, you cannot force C-states with a stock kernel.  Coreboot itself has
> no control over this; the Linux kernel controls all power saving states
> across all cores once started.  One thing you can try is to move all of
> your processes (including system processes) onto one group of cores with
> cgroup functionality; Linux should then idle the unused cores via the C3
> (subsequently hardware-transitioned to CC6) power saving state.
>
> - -- 
> Timothy Pearson
> Raptor Engineering
> +1 (415) 727-8645 (direct line)
> +1 (512) 690-0200 (switchboard)
> https://www.raptorengineering.com
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQEcBAEBAgAGBQJYWCEHAAoJEK+E3vEXDOFbURUIALclOMMi/Kbk46eF+OmYiSGY
> b9A3V6F0xmjiVxU4Mh17YGWmhsh2S608GvMsonggUQrjWRw5Nr8FQmtNcqOuNaKh
> tfm2MT3NmSb//cv2nA6a5HavbV7z+oNtVP4y4D2pKLhmN57QAy+XxnuMt9YYzVZz
> W0Lb0e/Q7vHNsknuea1F5+qU+T3uuu3NWUImdiiq9IhUSQGBNCSpwX+m1RYrC4Dt
> nKcC1oMYAsvrCa/4xpvfINnYgWKi9yg4TKGCurlPhDCU9crGP5luSCNE9WwMG2EJ
> yUN/uWx9kSo5F4Frzisuff54Fv7WwysAlvo58Yn9jrAv/cEZFXZiW/IBMGRMBrA=
> =LoK6
> -----END PGP SIGNATURE-----
>
I posted to the mailinglist about my turbo problem a few months ago and 
after an hour of testing I finally have an improvement.

I thought that a tickless kernel reduces performance, so I had put:
nohz=off
In my kernel command line, but this means that all the ticks will wake 
up the cores so they can't sleep enough for turbo 2 "half core turbo" to 
enable - so you need nohz=on.

This also saves 10W of power per 16 cores, because the cores/modules not 
in use will be parked instead of waking up to do absolutely nothing.

I now am able to get 8 cores at 2.65ghz vs before with only 2.5ghz 
(turbo 1 6274)

It seems there is still a blockage stopping full turbo 2 (3.1ghz) due to 
half of the CPU not being in C2 100% of the time but I wanted to share 
this interesting development.

Before C0 was around 1.5 per CPU and there were 4K wakeups idle, now 
there are only around 50 idle.

     |Mperf               || Idle_Stats
CPU | C0   | Cx   | Freq || POLL | C1   | C2
    0| 18.93| 81.07|  1742||  0.00| 34.38| 49.28
    8| 19.43| 80.57|  3093||  0.00|  0.01| 80.56
    1| 25.47| 74.53|  1742||  0.00| 12.81| 61.98
    9| 82.67| 17.33|  3095||  0.00|  0.00| 17.27
    2|  0.15| 99.85|  1394||  0.00|  0.00| 99.85
   10|  1.10| 98.90|  1399||  0.00|  0.00| 98.94
    3|  0.00|100.00|  1179||  0.00|  0.00| 99.99
   11|  1.13| 98.87|  1399||  0.00|  0.00| 98.91
    4|  0.00|100.00|  1402||  0.00|  0.00| 99.99
   12|  0.00|100.00|  1778||  0.00|  0.00| 99.99
    5|  0.00|100.00|  1404||  0.00|  0.00| 99.99
   13|  0.00|100.00|  1377||  0.00|  0.00| 99.99
    6|  0.00|100.00|  1442||  0.00|  0.00| 99.99
   14|  0.00|100.00|  1393||  0.00|  0.00| 99.99
    7|  0.00|100.00|  1391||  0.00|  0.00| 99.99
   15|  0.01| 99.99|  1411||  0.00|  0.00| 99.98

Damn I really wish I could OC opterons - inside every 6274 is a 6287SE 
screaming to get out.



More information about the coreboot mailing list