Some questions about the cpu governor

While researching another unrelated problem, i noticed that my CPU frequency will basically never go below maximum even if the CPU load is only around 5%. It will shortly downclock to around 2 GHz when the load is 1-2% and otherwise stays at 3.8 GHz.

Edited by moderator, as requested by author:

I’m on fully updated 6.6.9 Tumbleweed KDE.

inxi -Cxxx
CPU:
  Info: quad core model: Intel Xeon E3-1231 v3 bits: 64 type: MT MCP
    smt: enabled arch: Haswell rev: 3 cache: L1: 256 KiB L2: 1024 KiB L3: 8 MiB
  Speed (MHz): avg: 3398 high: 3400 min/max: 800/3800 cores: 1: 3398 2: 3398
    3: 3398 4: 3398 5: 3399 6: 3398 7: 3400 8: 3398 bogomips: 54384
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3

So i assumed the CPU governor was misconfigured or acting up.

cpupower frequency-info
analyzing CPU 4:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 4
  CPUs which need to have their frequency coordinated by software: 4
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 3.80 GHz
  available cpufreq governors: ondemand performance schedutil
  current policy: frequency should be within 800 MHz and 3.80 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.80 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

On Solus and Manjaro KDE the governor was always set to “ondemand”.

Digging into this article didn’t really explain what “schedutil” is, so could someone please elaborate?

Also the “driver: intel_cpufreq” is odd, because this archwiki article says it should be using “intel_pstate” since my Xeon is a Haswell based cpu and def. newer then Sandy Bridge.

Is there some config option i’m missing?

I would really like to go back to 800 MHz when nothing is happening.

I feel like this issue could also explain why Gamemode is not able to set the CPU governor to performance when running.

@Teroh:

First – Welcome to the openSUSE Forums!


There seems to be a Tumbleweed ←→ Leap difference – here with Leap 15.5 –

 # inxi -Cxxx
CPU:
  Info: quad core model: AMD Ryzen 5 3400G with Radeon Vega Graphics bits: 64
    type: MT MCP smt: enabled arch: Zen/Zen+ note: check rev: 1 cache:
    L1: 384 KiB L2: 2 MiB L3: 4 MiB
  Speed (MHz): avg: 1400 min/max: 1400/3700 boost: enabled volts: 1.5 V
    ext-clock: 100 MHz cores: 1: 1400 2: 1400 3: 1400 4: 1400 5: 1400 6: 1400
    7: 1400 8: 1400 bogomips: 59092
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
 # 
 # LANG=C cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.40 GHz - 3.70 GHz
  available frequency steps:  3.70 GHz, 2.30 GHz, 1.40 GHz
  available cpufreq governors: ondemand performance schedutil
  current policy: frequency should be within 1.40 GHz and 3.70 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 1.40 GHz (asserted by call to hardware)
  boost state support:
    Supported: no
    Active: no
    Total States: 3
    Pstate-P0:  3700MHz
    Pstate-P1:  2300MHz
    Pstate-P2:  1400MHz
 #
  • Tumbleweed (Intel): “schedutil
  • Leap 15.5 (AMD): “ondemand

Or, it’s an Intel ←→ AMD difference …

I wish i could tell when this started happening … i’m gonna say somewhere in 6.6.x

The unrelated issue was that one of my case fan’s started failing and being insanely loud. After confirming the fan is just loud and not a danger to the system, i had to delay the issue for a few weeks due to work and recently finally pulled the plug on the fan and noticed that my system was still way louder then expected.

After checking all the remaining fan’s in the case, bios fan curves and other stuff … and confirming they work correctly … i checked temps and power states … and posted this issue.

All i can say with certainty is that issue was not present when completely fresh installed 6 months ago … and started somewhere in the last 1 month or so.

I have not touched any bios settings in years and manually running fwupd shows the same stuff manjaro showed me where the issue was not present.

It has to be something with the cpu gov under Tumbleweed.

First – Welcome to the openSUSE Forums!

Oh and thank you :slight_smile:

@Teroh Hi, schedutil has been the default scheduler for a long time on Tumbleweed. You may have to watch a specific cpu and see if it drops to 800MHz (or looks at all) eg watch -n 5 cpupower frequency-info -f likewise turbostat is likely to provide better information.

Note, run both those commands as root user.

First one never drops below 34xx MHz.

Here is an example of turbostat representative of the last 10min of testing in semi idle : openSUSE Paste

intel_cpufreq is intel_pstate in passive mode. It may mean that HWP is not correctly implemented by your particular model or may be disabled by BIOS. Provide dmesg output after boot.

1 Like

Provide dmesg output after boot.

I dont exactly know what that means … just clean boot and run dmesg in the terminal ? Also what is HWP?

Yes, correct.

hardware-managed P-states

I have to do the restart tomorrow. Too much games to play tonight with friends. I will keep an eye on this thread and provide any restartless info i can provide.

Also have to look at the bio’s ( of an almost 10 year old mainboard ) again since the Archwiki article linked above also mentioned c/p states.

But why would Tumbleweed complain about those, possibly wrong, bios settings, when win10, solus and Manjaro did not?

openSUSE Paste the dmesg output to the best of my abilities.

intel_pstate is loaded.

[    0.427381] intel_pstate: Intel P-state driver initializing

You should have /sys/devices/system/cpu/intel_pstate/ directory with various intel_pstate parameters, in particular state which is passive in my case.
Can you post

cat /proc/cpuinfo

It is enough to cut it on the first blank line.

cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz
stepping        : 3
microcode       : 0x28
cpu MHz         : 3415.138
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
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 pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_unknown
bogomips        : 6799.73
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

Your CPU does not claim HWP support so the observed behavior is correct.

Tumbleweed does not complain either. Where do you see “complaints” you are referring to?

@Teroh So your cpu is unlocked, so are there BIOS setting for this setup that you have modified?

I have a Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz setup here, your turbostat data shows strange wattage reports as well… Mine is dropping to the lowest frequency of 1.6GHz.

Yours
cpu0: PKG Limit #1: ENabled (4095.875 Watts, 8.000000 sec, clamp DISabled)
cpu0: PKG Limit #2: ENabled (4095.875 Watts, 0.002441* sec, clamp DISabled)
cpu0: MSR_VR_CURRENT_CONFIG: 0x10141400001fff
cpu0: PKG Limit #4: 1023.875000 Watts (UNlocked)

Mine
cpu0: PKG Limit #1: ENabled (77.000 Watts, 1.000000 sec, clamp DISabled)
cpu0: PKG Limit #2: ENabled (96.000 Watts, 0.000977* sec, clamp DISabled)
cpu0: MSR_VR_CURRENT_CONFIG: 0x1814149480000380
cpu0: PKG Limit #4: 112.000000 Watts (locked)

Maybe that’s because your cpu is unlocked?

I have not modified anything CPU related in the Bios. Its just the default settings with some changes to boot order.

The wattage is actually strange. No idea whats up with that.

And i was just saying that in Solus and Manjaro the downclocking worked correctly. And i’m pretty sure it also did when i installed Tumbleweed.

Odly enought, this person seems to have a very similar problem to mine.

@Teroh So I run the GNOME DE on X11 (Intel/Nvidia gpus), what Desktop are you running, X11 or Wayland?

X11 as default, because the KDE system panel keeps freezing under wayland.

Also i can confirm that the CPU is downclocking at below 2% load ( to 2 GHz ). Maybe the Tumbleweed cpu gov is just upclocking way too aggressive?

@Teroh Proabaly worth a read here about schedutil https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt