Kernel 5.15.2-2 brings my cpu clock speed down

just moved from 5.10 where with “performance” set as the governor, and running the following command:
watch -n1 "grep \"^[c]pu MHz\" /proc/cpuinfo" would show all the cores at 4.100 MHz all the time.
now they all run at 2.100 MHz,with an occasional core that rises to 4.100.

inxi -Fazy
System:
  Kernel: 5.15.2-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
  root=UUID=a445c87d-e6a9-47fd-9601-614f3b3e7781 rw quiet apparmor=1
  security=apparmor resume=UUID=29e42246-1548-46dd-91f5-17d1f76c7bfd
  udev.log_priority=3
  Desktop: KDE Plasma 5.23.3 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1
  dm: SDDM Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: TUF Gaming FX705GD_FX705GD v: 1.0
  serial: <superuser required>
  Mobo: ASUSTeK model: FX705GD v: 1.0 serial: <superuser required>
  UEFI: American Megatrends v: FX705GD.306 date: 05/25/2020
Battery:
  ID-1: BAT0 charge: 57.1 Wh (100.0%) condition: 57.1/64.1 Wh (89.1%)
  volts: 16.8 min: 15.6 model: Simplo SDI ICR18650 type: Li-ion
  serial: <filter> status: Full cycles: 41
CPU:
  Info: 6-Core model: Intel Core i7-8750H bits: 64 type: MT MCP
  arch: Kaby Lake note: check family: 6 model-id: 9E (158) stepping: A (10)
  microcode: EA cache: L1: 384 KiB L2: 1.5 MiB L3: 9 MiB
  flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  bogomips: 52815
  Speed: 4038 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 4038 2: 4050
  3: 4010 4: 4097 5: 4044 6: 4084 7: 4099 8: 4100 9: 4100 10: 4101 11: 4100
  12: 4099
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
  mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
  mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
  IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: ASUSTeK
  driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:3e9b class-ID: 0300
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: ASUSTeK
  driver: nvidia v: 495.44 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
  chip-ID: 10de:1c8d class-ID: 0300
  Device-3: IMC Networks USB2.0 HD UVC WebCam type: USB driver: uvcvideo
  bus-ID: 1-11:4 chip-ID: 13d3:56a2 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org 1.21.1.1 compositor: kwin_x11 driver:
  loaded: modesetting,nvidia display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
  s-diag: 582mm (22.9")
  Monitor-1: eDP-1 res: 1920x1080 hz: 60 dpi: 128 size: 382x215mm (15.0x8.5")
  diag: 438mm (17.3")
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.2.5
  direct render: Yes
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: ASUSTeK
  driver: sof-audio-pci-intel-cnl
  alternate: snd_hda_intel,snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
  chip-ID: 8086:a348 class-ID: 0403
  Sound Server-1: ALSA v: k5.15.2-2-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.40 running: yes
Network:
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
  bus-ID: 00:14.3 chip-ID: 8086:a370 class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
  vendor: ASUSTeK driver: r8169 v: kernel port: 3000 bus-ID: 03:00.0
  chip-ID: 10ec:8168 class-ID: 0200
  IF: enp3s0 state: up speed: 100 Mbps duplex: full mac: <filter>
  IF-ID-1: ppp0 state: unknown speed: N/A duplex: N/A mac: N/A
Bluetooth:
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) type: USB
  driver: btusb v: 0.8 bus-ID: 1-14:6 chip-ID: 8087:0aaa class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 2 state: down bt-service: disabled
  rfk-block: hardware: no software: no address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 75.52 GiB (15.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston model: RBUSNS8154P3512GJ
  size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 15.8 Gb/s
  lanes: 2 type: SSD serial: <filter> rev: E8FK11.C temp: 43.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 467.84 GiB size: 459.5 GiB (98.22%)
  used: 75.52 GiB (16.4%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
  used: 312 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2
  dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
  System Temperatures: cpu: 47.0 C pch: 45.0 C mobo: 27.8 C
  Fan Speeds (RPM): cpu: 0
Info:
  Processes: 277 Uptime: 34m wakeups: 1 Memory: 15.48 GiB
  used: 2.11 GiB (13.6%) Init: systemd v: 249 tool: systemctl Compilers:
  gcc: 11.1.0 Packages: 1333 pacman: 1327 lib: 390 flatpak: 6 Shell: Zsh
  v: 5.8 running-in: konsole inxi: 3.3.09

What power profile is set? (new with 5.23 in the KDE energy settings)
Powersave? Balanced? Performance?

1 Like

May be it is some power saving features? Less clock frequency leads to less CPU power consumption. And if you need performance, you will got clock increase automatically.

How to verify what CPU still able to switch to high frequency? Execute your command and in parallel run any all core load, for example

cryptsetup benchmark

and check what cpuinfo shows.

Or may be you need 4.1 GHz on all cores always? I do not know why that happen, but perhaps the answer is in some power saving feature of something, may be kernel-related.
Also if to switch to 5.14 or 5.10 kernel generations, then you see no that low frequency clock effect, yeah?


That idea skips the topic title of

Kernel 5.15.2-2 brings…

or if it works, then topic title was wrong.

1 Like

@Monarc
i don’t have or see any energy profile to set in KDE, i think i need the “power-profiles-daemon” package.
@alven
an hour ago on Kernel 5.10 with “performance” set as the cpu governor i had all cores on max. the way i like them to be. now with 5.15 they’re not.
as far as I’m aware,it’s the governor that sets the CPU clock speed;max,or by demand/load.

OK, perhaps, we need to go deeper into CPU power saving settings of the 5.15.2-2 kernel.

What if it is bug of 5.15.2, that was fixed in newer kernel versions Manjaro - Branch Compare?

May be to switch to `unstable`, to get only kernel and to switch back to `stable` in order to try current `5.15.5`?
sudo pacman-mirrors --api --set-branch unstable
sudo pacman -Syy
sudo pacman -S linux515
sudo pacman-mirrors --api --set-branch stable
sudo pacman -Syyu

and to reboot into newer 5.15.5.

When you will need to get rid of that new ahead-of-stable-branch kernel version, run

sudo pacman -S linux515

or for all packages from non-stable branch

sudo pacman -Syyuu
1 Like
  • How to set maximum CPU frequency:

https://wiki.archlinux.org/title/CPU_frequency_scaling#Setting_maximum_and_minimum_frequencies

  • There is CPU performance control:

https://wiki.archlinux.org/title/CPU_frequency_scaling#Control_Intel_CPUs_energy_performance_policy

  • Install throttled to improve the performance for Laptop (Intel only).
2 Likes

Since kernel 5.10, cpuinfo seems to be a less reliable source of CPU frequency reporting than before.
You have Intel, and I have AMD, but for me the file reports too high idle and too low boost frequencies. And with 100 MHz accuracy, making it even worse.

Try watch -n1 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq, and compare. For me, it matches other monitoring tools, like htop (probably uses those files as a source).

3 Likes

That shows much better numbers,all cores are close to or at 4.100MHz with occasional big drops on some, but that’s fine i guess.

it was fine for me.

It could’ve been 5.11, then. I’m probably misremembering :thinking:

me too (i5-8250U), `5.15.5-1` kernel

Having turned off Turbo boost I see:
under idle:

cpu MHz         : 1600.031
cpu MHz         : 1800.000
cpu MHz         : 1800.000
cpu MHz         : 1600.000

under all 4 cores load (the cryptsetup benchmark running):

cpu MHz         : 1600.006
cpu MHz         : 1600.000
cpu MHz         : 1600.029
cpu MHz         : 1600.000
again me too

idle:

1600033
1600001
1600015
1600051

under load the same (as I have turned off turbo boost technology, it is excpected to be 1.6 GHz maximum):

1599999
1600000
1600171
1600005

In that case, there’s probably actual throttling, and not just misreporting.

Spoiler used to minimize thread hijacking effect: answer about throttling idea

So different values of /proc and /sys sources earlier you described as

now for me is

while they are different in idle :slight_smile:
I thing your first idea is perfect, and about throttling in idle is not correct (/proc shows 1.8 GHz, while /sys shows 1.6, and by the Intel Core i58250U Processor 6M Cache up to 3.40 GHz Product Specifications specification base freq. is 1.6, so I do not know where the 1.8 from and you described it as /proc wrong info, which looks truly).
Without turbo boost to see max freq. to be equal to base freqency is expected behavior, so no 1.8 GHz looks like fake.
Even it is idle throttling, than /sys and /proc info are not the same for that 200 MHz constantly (it is not rare peaks only).

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.