It appears there is an intermittent bug where a core may get locked at 400MHz after reaching throttle temp. Noticed while running a stress test, doesn’t seem to occur consistently. I suspect it’s a firmware bug with a prochot state getting stuck instead of resetting once nominal temps are reached again, although I will be keeping an eye on it just in case something else is going awry.
To resolve the issue for now, a full shutdown and startup has worked in my case. Attached two images, one demonstrating core 0 locked at 400MHz and another where it was fine after rebooting.
Also, I think the mods need to take a look at the tagging situation for posts… Depending on the forum topic/area, I’m getting multiple cannot post due to tag errors, making it difficult to post in the right place.
The first of these posts had quite a lot of discussion recently. It looks like a longstanding problem that is affecting certain classes of Intel processor, and not just on Framework hardware.
Yeah, I’ve seen a lot of those posts for the older gens. What’s weird with this one, on the X7, is it’s only 1 core instead of all cores that are affected when it occurs
Submitted a support ticket at any rate so the team have it on their radar.
Compared to previous gens, yeah haha, but still not ideal. I bet the Framework support team and engineers shudder every time someone says “400” given it’s cursed nature
Certainly backs up the whole “not all CPUs of the same model are the same” mantra.
The fact it only happens on 1 core is interesting.
Shame you can’t just swap out laptop CPUs.
So they’ll try software/firmware/BIOS fixes first because otherwise it’s a mainboard replacement which may or may not fix the issue if the problem is from Intel’s end.
I think it’s likely firmware related, but could possibly be mitigated with software (been testing a few different things). Of course, there can be some weird causes too like a bad expansion card but I ruled them out.
Here’s where it gets interesting, I haven’t triggered the bug, yet, since disabling the thermald service. Can’t say it’s completely gone, but it’s seeming like thermald might be a trigger for something in firmware.
Another interesting thing from disabling thermald is that you can then use the sysfs RAPL API to manually set 35W on PL1, which it then abides by and doesn’t throttle to 32-33W. Temps hold steady around 88-93c and you go from ~2630MHz (at 33W, occasionally blips up but doesn’t stay up) to ~2950MHz (occasionally blips down, but doesn’t stay down) at 35W on the P cores. All the E cores and LPE cores stay around the same.
Seems like thermald is perhaps being a bit too aggressive, although it’s unclear if that’s a result of something at the firmware layer or not yet without doing a bit more digging.
Not exactly the same bug, but today I unplugged the charging cable when battery is full (white LED) and the CPU became locked to 400Mhz on all cores.
I tried to get the laptop out of this state by switching power plan and sleep/resume. It didn’t work. Plugging in the charging cable and removing it again helped.
I noticed something similar with the 7040 series board before.