CPU sometimes gets stuck in some sort of low power mode

It sometimes happens that the CPU gets stuck in a sort of low power mode.

Running a large parallel compilation in that state nets me an average of about 1GHz on all cores and a battery power draw of just 25W. For reference, the power draw would typically go up to 70W or so under such load and I believe clocks would be in >3GHz but I’m not sure.

Single core clocks are harder to judge for me but they’re certainly weird and it feels slow.

For something slightly reproducible, 100% load on 1C nets 1.something GHz while in power-saver and power draw is also barely above idle while it will typically go up to 40-50W. (That itself isn’t ideal but that’s for another topic.)

Needless to say, this slows things down significantly. Using any other program while such a compilation is running feels extremely sluggish. Just typing this out I can feel the lag.
Again needless to say but the compilation is extremely slow too.

I don’t know how exactly this happens but this machine has been up for 5 days and I only just noticed it. When I put it to sleep yesterday it was behaving normally.

This has happened a few times before and I think I once got it to revert back to normal by some sequence of plugging in power and going into s2idle but I can’t reproduce that.

Have any of you experienced this too?

I suspect this is related to the EC. I see entries like this when poking around in ectool console:

[2554107.949400 Battery 39% (Display 37.1 %) / 1h:40 to empty]
[2554108.010200 DC BEST PERFORMANCE]
[2554108.011400 event set 0x0100000000000000]
[2554108.060700 PMF: SPL 40000mW, sPPT 48000mW, fPPT 58000mW, p3T 118000mW, ao_sppt 0mW]

Perhaps that tells something to someone.

One thing I should note is that I switch power profiles very frequently.
I made it go into power-saver whenever I don’t interact with the machine for 2s because the other power modes draw like a few watts more which is insane considering the thing is basically idle with just Firefox doing idle browser things in the background.

cc resident AMD expert @Mario_Limonciello


Which Linux distro are you using?

NixOS

Which release version?

5633bcff0c6162b9e4b5f1264264611e950c8ec7

Which kernel are you using?

6.6.53

Which BIOS version are you using?

Latest according to fupdmgr

Which Framework Laptop 16 model are you using? (AMD Ryzen™ 7040 Series)

AMD Ryzen 7 7840HS w/ Radeon 780M Graphics

1 Like

Just after I typed this out and again while I was typing this, it shortly clocked up to what felt like normal clock speeds and power draw and the fans also immediately span up as I imagine the temperature quickly rose.

It was short-lived though and immediately reverted back to snail speed.

It just did it again and I think it was related to a short moment of slightly less load (~80%). It’s super weird.

Speaking of temperature, I forgot to mention that Tctl is at a meager +50.4°C, so this isn’t a thermal issue either.

It’s ~4.1GHz on all cores actually.