CPU Frequency locks to ~1000Mhz while building kernel

I am currently patching multiple kernels with a lower brightness for my Framework 16. And I noticed a strange thing:

If I build any kernel with any number of threads my CPU locks to 1000Mhz, although it could actually clock way higher. My processor is the Ryzen 7840HS, which normally clocks at ~4Ghz.

Where could I start my troubleshooting? I would like to build my kernels with the maximum frequency :confused:

EDIT:
In this screenshot you can see it’s not a problem with temperature, as the CPU sits at ~50°C. I played a game until the sharp drop of the frequency. After that it’s been only building the Kernel with 8 threads.

My guess would be that something might be limiting the power to your CPU.

I would start by looking at things like powerprofilesctl, cpupower frequency-info. Also, check if there is something in your BIOS settings related to power supply to your CPU.

This may be worth checking as well:

Thanks for your input!

Weirdly enough, after a restart, it chugs away just fine…

I’ll report back, once it happens again tho. I don’t have any BIOS settings related to CPU power. Right now the CPU uses 20-30W depending on the power plan.
If it happens again, I’ll include information about powerprofilesctl and the cpupower frequency.

I checked your link, and my system uses the AMD P-State EPP driver.

It happened again just now :confused:

I tried reducing the compiling cores to 4, but same result.
It will probably be fine after restarting the laptop tho.

~ 
❯ powerprofilesctl
* performance:
    CpuDriver:  amd_pstate
    PlatformDriver:     platform_profile
    Degraded:   no

  balanced:
    CpuDriver:  amd_pstate
    PlatformDriver:     platform_profile

  power-saver:
    CpuDriver:  amd_pstate
    PlatformDriver:     platform_profile
analyzing CPU 10:
  driver: amd-pstate-epp
  CPUs which run at the same hardware frequency: 10
  CPUs which need to have their frequency coordinated by software: 10
  energy performance preference: performance
  hardware limits: 419 MHz - 5.14 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.10 GHz and 3.32 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.29 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
  amd-pstate limits:
    Highest Performance: 196. Maximum Frequency: 5.14 GHz.
    Nominal Performance: 145. Nominal Frequency: 3.80 GHz.
    Lowest Non-linear Performance: 42. Lowest Non-linear Frequency: 1.10 GHz.
    Lowest Performance: 16. Lowest Frequency: 400 MHz.
    Preferred Core Support: 1. Preferred Core Ranking: 232.

Mine shows this with AMD

\[ricklinux@rick-ms7c91 \~\]$ powerprofilesctl 
  performance: 
    CpuDriver:  amd_pstate 
    Degraded:   no 
 
\* balanced: 
    CpuDriver:  amd_pstate 
    PlatformDriver:     placeholder 
 
  power-saver: 
    CpuDriver:  amd_pstate 
    PlatformDriver:     placeholder

Edit: Ryzen 5800x but it is a desktop.

You could try to set amd-pstate to guided mode and see what happens.