Massive throttling issues on AMD ThinkPads running Windows 11 (a.k.a. The continued enshittification of ThinkPads)

TL;DR: Our 7730u laptops throttle like crazy and neither we nor Lenovo can figure out why. If anyone has any ideas I would LOVE to hear them!


I work at a startup and we have around 50 ThinkPads ranging from Zen 2 E14’s to some recently acquired P14s based on Zen 4 (and three 8th gen Intel E480’s that simply refuse to die).

We recently bought a batch of L14 gen 4 sporting a Ryzen 7730u, a CPU that benchmarks exceptionally well. This was deemed as good enough for our workloads, since they, on paper, are a great upgrade for the people sporting Zen 2’s.

The performance in reality does not meet our expectations. The 7730u is severely handicapped when running Windows 11 to a such degree that it in some Rust compilation tasks takes quite literally twice the time (2m 20s compared to 1m 10s on a Ubuntu 24).

Edit: We observe similar performance on a P14 with and AMD 5850u, which is basically the same silicon

What we observe on Windows 11 (Lenovo stock and clean bare-bone install):

  • The CPU runs fast the first couple of minutes
  • It boosts to above 4 on single core loads and up to 3.2 on all-core loads
  • After the initial couple of minutes we observe frequent drops below 2 GHz (measured in Aida)
  • When running longer all-core loads it dips further down to 2.8
  • The temperatures are in the 80s/90s C

What we observe on Linux:

  • The CPU boosts to an all-core frequency of just around 3.6 for minutes at a time
  • There’s no observed period after which it begins to suck
  • The temperatures go up to 95-ish C

Our attempts so far:

  • RyzenAdj on Win/Linux and it yields only small differences, on linux the CPU hits it’s temperature target and stays there
  • Fiddling with power modes in bios and in windows, no consistently observable improvements
  • New cooler+fan+paste (Lenovo on-site), no difference
  • Attempts at overriding the AMD SMU stuff using Smokeless UMAF, but bios refuses to save the changes
  • Running the benchmark without bottom, no difference
  • Changed the SSD to a faster one to eliminate IO bottlenecks, the issues persist
  • Disabling “intelligent cooling mode” in BIOS
  • Running x86 tuning utility in various presets, it seems to yield somewhat higher temps but after some minutes the slowness returns

The worst part is that the E480 clocks the same compilation in time of 2m 20s (though running Linux). The 8th gen 4c Intel part should not be able to match a 8c zen 3 in the fairly parallel workload that is Rust compilation.

My gut feeling tells me there machines are more capable than this.
If anyone has any suggestions, ideas or similar stories to share, please do!

Try disabling Core Isolation and Memory Integrity under Win 11’s Virtualization Based Security page.

Will do, but what does this have to do with boost frequencies?

If the CPU doesn’t stay pinned to its temperature limit then it sounds like it might be hitting a skin temperature limit. It should show up in hwinfo as “APU STAPM limit”… at least that’s what it’s called on my 5800h.

I didn’t have any luck with x86 universal tuner but a previous AMD only version of the same utility called AATU (AMD APU Tuning Utility) did the trick. The “APU Skin Temp Limit” setting did nothing but the “APU TDP/STAPM” did.

2 Likes

We just gave it a go using both the presets and curve optimizer (not sure if that works on thinkpads) and the speeds remain comparable. We had a 8s faster run, but nothing as significant as running it on linux.

The plot thickens:
Some of the slowdown seems to be due to the Rust toolchain on Windows hitting some IO slowness.
We are investigating how to isolate the IO issues from polluiting our data.

Yeah, presets and curve optimizer aren’t going to fix throttling… You have to find the specific reason for the throttling then address that specific cause.

Open hwinfo’s sensors panel and scroll down to the section that shows the limiters (PPT limit, TDC limit, APU STAPM limit, Thermal limit, etc.). You can double click each reading to open graphs if you like. Then fire up an all core workload (aida stability test, prime95, or whatever) and watch the limiters to see what’s going on as temps increase.

Once you know which limiter is throttling the CPU then you can address the issue directly.

if it’s because the APU STAPM limit is maxed out then with the all core workload still running and hwinfo still visible, move over to AATU or x86 tuner and see if increasing APU TDP/STAPM prevents the throttling in real time.

I also have an older CPU so you may have to use a different utility and your limiters and setting names may vary but that’s generally how I’d go about addressing an issue with CPU throttling.

Even with the CPU running at its full temperature limit, performance with your workload may still not be up to the level you’re seeing on linux but even if you have other issues, all core workloads dipping below 2GHz is not good.

A Lenovo tech swapped the motherboard and the new board showed exactly the same behavior of throttle-bonanza below the base speed of 2GHz, which is quite sucky to work on.

This time the CPU accepts the STAPM limit but reverts after < 5 sec back to software-defined gimp mode.
It seems like a firmware/Windows driver issue.

Will keep you posted.

2 Likes

Sounds like you may be doing battle with some other utility on the windows side.

Maybe try adjusting the limit while in safe mode to see if it sticks.

Your analysis sounds very plausible.

We’ve set the AATU and x86 tuner to auto apply every 3 seconds and it helps somewhat but after a prolonged period it dips below 2 and the reapply only gets it to boost up to 2-2.5-ish. Then 3 and immediate dip to below 2.

The intermittent drops below 2 suggest either another Windows utility overwriting our settings or the firmware itself doing so. Worst case it is a firmware bug.

Yet another update:
The L14 with the swapped mobo shat itself to death and is now a brick.
The other L14 in the fleet are experiencing weird issues with sound, webcams, sleep. It seems like the SKU is a dud.

We have ordered 10 Framework laptops instead and they will replace some of the L14s.