Bad performance on stationary system

Hei there,

i have two systems. A Laptop with the following specs:

Operating System: openSUSE Tumbleweed 20220907
KDE Plasma Version: 5.25.4
KDE Frameworks Version: 5.97.0
Qt Version: 5.15.5
Kernel Version: 5.19.7-1-default (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-8665U CPU @ 1.90GHz
Memory: 31,0 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 620
Manufacturer: LENOVO
Product Name: xxxx
System Version: ThinkPad X390

and a stationary system with the following specs:

Operating System: openSUSE Tumbleweed 20220911
KDE Plasma Version: 5.25.5
KDE Frameworks Version: 5.97.0
Qt Version: 5.15.5
Kernel Version: 5.19.8-1-default (64-bit)
Graphics Platform: X11
Processors: 20 × Intel® Core™ i9-10900 CPU @ 2.80GHz
Memory: 62,5 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 630
Manufacturer: LENOVO
Product Name: xxxx
System Version: ThinkStation P340 Tiny

However most things take the triple of time. E.g. compiling a Maven Project:
Laptop: 15 Seconds
Stationary: Up to 50 Seconds

or compiling a Node Application:
Laptop: 11 Seconds
Stationary: Up to 40 Seconds

As you can see the time differs a lot, and i have no idea why? My BIOS Settings are the default ones so nothing changed on this side. But as you can see the stationary hardware is (or should?) be better than the Laptops one (CPU is better, better graphics card, more RAM).

I have on both systems the exact same setup (Tumbleweed with KDE).

Help is appreciated :slight_smile:
Thanks

My first thought would be something else hogging the cpu on your slow system, does “top” show anything?

I tried the “s-tui” tool (Terminal-based CPU stress and monitoring utility): https://amanusk.github.io/s-tui/ to check CPU frequency and heat.

There is a difference in the two systems:

CPUs on Laptop normally run at 1.4GHz - 1.9GHz. When i do the Maven compile, the CPU goes immediately to > 3GHz, fans start to get a little noisy and after the compilation progress back to normal.

On the stationary system the frequency is normally 2.2GHz to 2.8GHz but immediately drops to 800MHz when i start the compilation and the fans stay quiet. After the compilation progress CPUs are going back to normal frequency.

Is there a way to change that behavior?

I thought Tumbleweed’s default cpu governor on install was “On Demand” - Perhaps you have it set differently?

cpupower -c all frequency-info | grep "governor \""

will show the current settings

Take a look at the man for cpupower for further details.

Hi
The default now is schedutil I’ve not had an issue here with it, when parallel compiling I get 24 cores at full speed…

I only have the “powersafe” and “performance” governors. And the “powersafe” is the governor the PC runs with (but the Laptop also). Switching to the “performance” governor has no effect. Its the same as “powersafe”. Means: CPU frequency is going down to 800MHz and the CPU heat is at consistent 30-40 degrees.

The thing is i used Fedora before and there was everything fine. So i think it has something todo with some Tumbleweed / OpenSuse / Suse defaults?

Ah… just checked on a TW machine and so it is. (Still using “ondemand” on 15.4)

Sorry, TW obviously tumbles along faster than I do. :embarrassed:

Hi
Maybe your loading the intel_pstate module?

The shedutil should be the default ;


cpupower frequency-info

analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 1.20 GHz - 2.60 GHz
  available cpufreq governors: ondemand performance schedutil
  current policy: frequency should be within 1.20 GHz and 2.60 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.


zgrep SCHEDUTIL /proc/config.gz

CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

Ref: https://lore.kernel.org/lkml/1614814.usHvZ58O6A@vostro.rjw.lan/

For things like compiling disk performance is also pretty import, your “Specs” do not list that, can you add it? The laptop has a SSD I see but what does the Stationary have?
With “sudo hdparam -Tt <device>” you can check cache/device read timings and compare them.

You can also run the compile with in front of the command "/usr/bin/time -v ", how does these numbers different for the two setup’s?

So i disabled the intel_pstate driver via Kernel parameter, now my system is running with the “schedutil” governor:

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: 10.0 us 
  hardware limits: 800 MHz - 2.80 GHz 
  available frequency steps:  2.80 GHz, 2.80 GHz, 2.70 GHz, 2.50 GHz, 2.40 GHz, 2.20 GHz, 2.10 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.50 GHz, 1.40 GHz, 1.20 GHz, 1.10 GHz, 900 MHz, 800 MHz 
  available cpufreq governors: ondemand performance schedutil 
  current policy: frequency should be within 800 MHz and 2.80 GHz. 
                  The governor "schedutil" may decide which speed to use 
                  within this range. 
  current CPU frequency: 800 MHz (asserted by call to hardware) 
  boost state support: 
    Supported: yes 
    Active: yes
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y 
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

But the result is the same: Instant fallback to 800MHz on heavy load.

Now i tested the s-tui tool on another Laptop with a I7 Processor. Result: CPU frequency goes up to over > 3GHz and stays there until i cancel the stress test which is fine.

The test on a second Lenovo Tiny (stationary), also with I7 Processor shows under heavy load the same symptoms as the other one with the I9 Processor.

So both Laptops behave as it should and scale up. And both stationary devices are instantly scaling down.

@marel:
All machines have SSDs installed. Setup is the same, Tumbleweed, KDE, exact the same partitions etc.

I really don’t know whats up here :slight_smile:

Are you sure it falls back to 800MHz, or perhaps never goes above that to start with. BIOS setting limiting max clock speed?

Yes it falls back to the minimum. I don’t have a BIOS setting for max clock speed. All i have in the CPU section is:


EIST Support -> Enabled
Intel (R) Hyper-Threading Technology -> Enabled
Core Multi-Processing -> Enabled
Intel(R) Virtualization Technology -> Enabled
VT-d Feature -> Enabled
TxT -> Disabled
IOMMU -> Disabled
C1E Support -> Enabled
C State Support -> C1C3C6C7C8C10
Turbo Mode -> Enabled
CPU ID -> A0655
Microcode Revision (MM/DD/YYYY) -> 000000EE (04/28/2021)

What i also noticed that on the Laptops the fan speed is available (i can see it via s-tui or sensors) and it shows about 4000 RPM under load while the fan speed is on the stationary systems missing (no info at all).

Hi
What happens if you change EIST (Intel Speed Step) from enabled to auto?

Unfortunately i can only disable it. And when i do so, it shows no difference :frowning:

I mention this only because you may find it interesting, not as a solution to your problem.

Whilst looking at the openSUSE bugzilla, this caught my attention: Bug 1201013](https://bugzilla.opensuse.org/show_bug.cgi?id=1201013) - intel_pstate: cpu frequency is always above maximum

Intel CPU users reporting almost the opposite of the problem you have when using the intel_pstate driver.

It may be worth opening a bug report yourself for the problem you see on your system.

Thanks for taking the time and answering :slight_smile: … I finally found the solution and its really annoying (?). So the Solution was unplugging the power cord, wait 30 seconds and then plugging it in again. I dont get it.

Hi
I suspect some logic in the power supply sensing to hold back cpu power. Unplug, let things discharge and reset… I suspect with intel_pstate enabled you will likely only get those two schedulers back and not the default.

Yes thats true i only have those two governors again while the “powersave” one is enabled. But since the CPU is performing very well now its totally okay for me. I don’t know why OpenSuse uses in my case the p_state drivers instead of the schedutil by default …

Thanks again for the help :slight_smile:

Hi
I would raise a bug report against the kernel/module, schedutil is there for a reason (and Tumbleweed default), I suspect they will say disable intel_pstate (or maybe add some boot kernel options)? openSUSE:Submitting bug reports - openSUSE

I saw similar issue in the forum, cannot find it now.
Intel workstation system. Issue is with BIOS settings for energy saving and applying BIOS changes.