CPU throttles to 400MHz on suspend/resume with AMD EPP

I have been using Fedora (39 and 40) over the past few months and have been experiencing a recurring issue. On my system (HP Elitebook 845 G9), it seems that whenever I leave the system idle for a significant amount of time (and presumably go into sleep mode) the entire desktop experience is extremely sluggish after wake from sleep. This is always solved with a restart. This impacts every single application, and affects app startup times, response times with UI elements (dragging windows around, minimizing, opening context windows, etc.), and results in a very sluggish browsing experience with Firefox (which is typically the only program open in the foreground at any given time). As I’m typing this, I even experience lag in the words showing up on screen. I’ve made sure AMD P-State and EPP have been enabled following this guide and I’ve enabled fingerprint support by modifying the login to allow a second step if the enter key is pressed, but other than that, I haven’t made any odd modifications to my system. I setup my install using LVM during initial setup if this changes anything as well.
To describe the issue simply, using my laptop in this state feels like I’m running an Intel Atom CPU from 10 years ago. It gets to the point where the laptop is almost unusable, despite the fact that CPU usage never goes above 30% in daily use (even now while I’m experiencing massive lag, the CPU is sitting at 15%. I’m also sitting at 7.5/30.7 GB memory use, etc. Here is the output of top:

top output
top - 16:17:19 up  5:14,  1 user,  load average: 1.39, 2.01, 1.84
Tasks: 418 total,   1 running, 417 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.4 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.3 hi,  0.1 si,  0.0 st 
MiB Mem :  31396.5 total,  18652.3 free,   7465.5 used,   6013.6 buff/cache     
MiB Swap:   8192.0 total,   8192.0 free,      0.0 used.  23931.0 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                            
   2180 luke      20   0 4343328 422508 298876 S   3.2   1.3   9:04.77 kwin_wayland                                                       
  22590 luke      20   0 1828412 145820 123712 S   2.7   0.5   0:20.58 konsole                                                            
  23915 root      20   0  231876   5504   3328 R   1.9   0.0   0:00.53 top                                                                
  20365 luke      20   0   11.9g 715448 395504 S   0.8   2.2  17:45.04 firefox                                                            
  22075 luke      20   0 2820252 201976  99052 S   0.8   0.6   0:27.13 Isolated Web Co                                                    
  20543 luke      20   0 3031612 300924 110400 S   0.5   0.9   1:23.38 Isolated Web Co                                                    
  20683 luke      20   0 2913340 313860 109636 S   0.5   1.0   0:48.18 Isolated Web Co                                                    
  22332 luke      20   0 2819532 204876 100372 S   0.5   0.6   0:22.90 Isolated Web Co                                                    
    550 root     -51   0       0      0      0 S   0.3   0.0   0:37.44 irq/47-SYNA30DC:00                                                 
   1127 systemd+  20   0   16436   7168   6400 S   0.3   0.0   0:12.29 systemd-oomd                                                       
   1169 root      20   0   79456   3200   2944 S   0.3   0.0   0:02.53 irqbalance                                                         
   1310 root      20   0  774072  19408  16720 S   0.3   0.1   0:06.72 NetworkManager                                                     
   2426 luke      20   0 9073340 473536 194300 S   0.3   1.5   0:58.97 plasmashell                                                        
   3024 luke      20   0  610860   8704   7680 S   0.3   0.0   0:00.63 goa-identity-se                                                    
  16649 root      20   0       0      0      0 I   0.3   0.0   0:00.18 kworker/15:1-events                            

Mesa is updated to the latest version, as is my BIOS and kernel.

Here is the output of neofetch:

neofetch
            .',;::::;,'.                luke@fedora 
         .';:cccccccccccc:;,.            ----------- 
      .;cccccccccccccccccccccc;.         OS: Fedora Linux 40 (Workstation Edition) x86_64 
    .:cccccccccccccccccccccccccc:.       Host: HP EliteBook 845 14 inch G9 Notebook PC SBKPF 
  .;ccccccccccccc;.:dddl:.;ccccccc;.     Kernel: 6.8.7-300.fc40.x86_64 
 .:ccccccccccccc;OWMKOOXMWd;ccccccc:.    Uptime: 5 hours, 18 mins 
.:ccccccccccccc;KMMc;cc;xMMc:ccccccc:.   Packages: 2739 (rpm), 5 (flatpak) 
,cccccccccccccc;MMM.;cc;;WW::cccccccc,   Shell: bash 5.2.26 
:cccccccccccccc;MMM.;cccccccccccccccc:   Resolution: 1920x1200 
:ccccccc;oxOOOo;MMM0OOk.;cccccccccccc:   DE: Plasma 6.0.4 
cccccc:0MMKxdd:;MMMkddc.;cccccccccccc;   WM: kwin 
ccccc:XM0';cccc;MMM.;cccccccccccccccc'   WM Theme: Arc-Dark 
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;    Theme: [Plasma], Breeze-Dark [GTK2], Breeze [GTK3] 
ccccc;0MNc.ccc.xMMd:ccccccccccccccc;     Icons: [Plasma], Papirus-Dark [GTK2/3] 
cccccc;dNMWXXXWM0::cccccccccccccc:,      Terminal: konsole 
cccccccc;.:odl:.;cccccccccccccc:,.       CPU: AMD Ryzen 7 PRO 6850U with Radeon Graphics (16) @ 4.768GHz 
:cccccccccccccccccccccccccccc:'.         GPU: AMD ATI Radeon 680M 
.:cccccccccccccccccccccc:;,..            Memory: 7349MiB / 31396MiB 
  '::cccccccccccccc::;,.

Fpaste generated during symptoms

Thank you for reading this and I appreciate your support! I wouldn’t be surprised if the cause was something simple and silly…

(Edit: I should probably add that I don’t believe the issue is hardware related - I bought this laptop new and when running Windows on dual boot it has no problems with idle and stays at max performance. I have tried all AMD EPP profiles (balanced, powersave, maxperf) to no avail.)

Well, I don’t know if this muddies the waters, but since I made this post I’ve put the laptop into sleep and waking it up now I’m not seeing any graphical or performance lag at all. Does anyone have an idea of what would be useful for me to log to catch when this occurs? I’ve seen the something about the OOM killer running multiple times with journalctl -xe but no clue as to what that means or what the culprit might be.

I’ve been doing some more testing and it seems like this problem seems to be related to something with the CPU scaling governor. Whenever this issue occurs, the CPU will never go above 400MHz despite having never set any limits. Any ideas of what I could check for a newer AMD system (I’ve only seen this issue mentioned before on Intel systems)?

Edit: It seems like I’m experiencing the exact same bug that AlexDeLorenzo.dev is describing here. This is a related bug. It seems like there was some sort of patch that claimed to fix the issue, but I can’t tell what kernel version that would target. Right now I’m on 6.8.7-300.fc40.x86_64 which I would think would contain this patch, is this correct?

1 Like

Added kernel and removed flatpak, intel

having the same issue, when my laptop in on Power the cpu throttles to 400Mhz, reported here