• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

BSODs/crashes when laptop goes into sleep and E cores are enabled

vassilev

New Member
Joined
Mar 15, 2024
Messages
7 (0.02/day)
Hello!
I have been tinkering with Throttlestop for the past 2 weeks on my recently bought Lenovo Legion 7i with i9-12900HX. Throughout this time I read a lot of topics and guides, and I think by now I have a general idea of what's going on and managed to achieve some nice results with reducing temperatures and power draw and increasing the sustained clocks.

TLDR at the bottom.

I've also experimented with disabling the E cores from the bios, as although this might be pointless or even detrimental in some cases on a desktop PC, the situation might be different in a laptop. My reasoning is that given the limited power budget of the laptop during gaming (where the GPU can draw up to 175W), the shared vapor chamber and thus limited thermal headroom, disabling the E cores might help free up power for the P cores, and allow them to sustain higher clocks within the same temperature range.

Anyway, I started experimenting with undervolting in Throttlestop (with P+E cores) and initially faced the immediate crash when P cache is adjusted, which is resolved by dropping the max cache ratio to 36 (discussed in various topics online). I believe this happens because the max turbo ratio for the E cores is 36. Or at least it makes sense. The moment the cache ratio is set above 36 it crashes. It's interesting because if I have the undervolted profile with cache ratio set to 36 selected and active, and then try switching to a completely default one where the max cache ratio is 46 (my battery profile with 0 offsets), the crash is instant. However, if I also set the cache ratio of the battery profile to 36, it switches without issues and the undervolt is removed, working as expected.

Then, after lots of testing and a few BSODs, I reached a stable undervolt of -110mV on the P cores and -85mV on the P cache. I haven't changed the system agent, E cache or the rest, as it doesn't seem it will bring me any benefit, but it might cause instability. With this undervolt, the CPU is perfectly stable in all benchmarks, Prime95 small FFTs, TS Bench, games, etc.
..However, the problem comes when the laptop tries to go to sleep. Sometimes it reboots immediately, sometimes it goes to sleep and crashes upon waking up, sometimes it manages to wake up once, but crashes after I put it to sleep again. It can never go to sleep, wake up, and then go to sleep again without crashing. The BSODs I get are various with different kind of bugcheck codes, there isn't any model to them, except that most often the culprit is said to be a driver of some sort, but it is a random one each time.

I've tried enabling the "sleed defaults voltage and cache ratio" options in Throttlestop, but they don't resolve the issue. I've tried with each one selected on it's own and both selected at the same time.
I tried disabling the hybernation via CMD, using the command powercfg.exe /h off, just for good measure.
I tried setting a minimal undervolt of -5mV per P core and P cache, to see whether the problem is the undervolt being too aggressive - it still crashes.
I even tried with the battery profile (no undervolt) selected, just with a max cache ratio of 36 (as if it's not 36 there would be no chance for an undervolt) - it still crashes.

Therefore, to me it seems that the crash during/after sleep has nothing to do with the actual undervolt, but with the cache ratio. And I can't manage to resolve it no matter what I try.

And the problem manifests only when the E cores are enabled.
With them disabled, I can do whatever I want with the P cores, even leave the max cache ratio at 46 and as long as the undervolt is stable, there are no crashes under any circumstances. The good thing is that I'm extremely happy with how the PC runs with the P cores only, gaming is perfect, general usage is without any hiccups and the benchmark scores are much higher than stock. With only the P cores, the undervolt mentioned above (-110mV P cores and -85mV P cache), I can sustain 4.2GHz on all cores with 3.8GHz ring clock for 10 minutes in Cinebench R23, with temp maxing out at 93 degrees and with score around 17300 pts. I've set my prochot to 90C to avoid spikes above 92/3 C, and even with throttling at 90C I can mostly hold the 4.2GHz on all cores for as long as it needs, at ~105-108W, and consistently hit 17000 pts in 10 minute throttling tests.

With the E cores active I am limited to 3.6GHz ring, and I can only sustain the P cores 3.8-9GHz and E cores 3.1GHz at for a 10 minute throttle test in CB R23 with prochot set to 90C, but the score is 21700 pts, which is definitely a very nice improvement compared to stock, in all aspects. One run shows 23500 pts. At stock settings the sustained clocks are around 3.7GHz for P cores and 2.8-9GHz for E cores, but with prochot to 97C, and the 10 minute result is around 20000 pts. The highest one run score I've seen at stock settings is 21300.

I've attached two screenshots from just now - currently only the P cores are active. I've left checked the options to reset cache ratio and voltage on sleep, as everything seems to work perfectly this way.

Another thing worth mentioning is that I've created two high performance profiles - core parking is disabled in both as it causes stutters in some games. The difference between the two is that one allows Speed Shift to drop the clocks to below the base speed (but not too much), the other keeps them at max frequency. I have to say I don't see any difference in real world performance, so I just keep it at "high performance efficient", the former. The problem I'm describing happens with every power plan, Balanced included (where the core parking is enabled).


TLDR: PC crashes when going to/waking from sleep, only when E cores are active and Throttlestop is ON (regardless of whether an undervolt is applied or not), with an adjusted cache ratio of 36 - the maximum allowed if P cache is to be undervolted. Can't get it to not crash no matter what I do, but it's working perfectly fine with just the P cores active. It's also stable and working fine under any load or idle with the E cores active - the problem is only related to the sleep state.

I'll be very happy if somebody could give me some advice.

Thanks and apologies for the long post.
 

Attachments

  • Screenshot 2024-03-20 233822.png
    Screenshot 2024-03-20 233822.png
    872.7 KB · Views: 89
  • Screenshot 2024-03-20 233831.png
    Screenshot 2024-03-20 233831.png
    888.7 KB · Views: 92
Last edited:
The BSODs I get are various with different kind of bugcheck codes, there isn't any model to them, except that most often the culprit is said to be a driver of some sort, but it is a random one each time.
Sounds like a faulty CPU core, faulty integrated RAM controller on the CPU, or a faulty motherboard. But the motherboard and power supply are more suspect, of the listed!
 
Another thing worth mentioning is that I've created two high performance profiles - core parking is disabled in both as it causes stutters in some games. The difference between the two is that one allows Speed Shift to drop the clocks to below the base speed (but not too much), the other keeps them at max frequency. I have to say I don't see any difference in real world performance, so I just keep it at "high performance efficient", the former. The problem I'm describing happens with every power plan, Balanced included (where the core parking is enabled).
Where are the screenshots of all related TS windows, especially when your CPU is under workload? Post everything you have got please.

I'll be very happy if somebody could give me some advice.
What advice do you want, sir? You have already wrote up everything clean and clear. Your CPU is malfunctioning. You may try to reach official service and fix that under warranty, and if it is impossible to do then just think about other steps to get around of this situation.

Those could be:
- continue having all E-Cores disabled - since modern Intels are nothing without E-Cores it is not good idea;
- try and identify the very bad E-Core(s) then find a way to disable only them with others staying functioning - this is the best you can do to lose only a minimum of overall performance;
- try enhanced or modded bios that includes settings that can help, and if you cannot get it for you laptop model, there are couple of ways around to do this.
The simpliest one is this
 
Last edited:
Thank you both!
Although I can definitely consider sending it in as it's in warranty, I don't think this is a hardware problem.. The computer works without any issues with the E cores enabled, just without throttlestop adjusting the cache ratio to allow undervolting. It can go to sleep and wake up without crashing, the problem arises after Throttlestop has made changes to the max cache ratio.

@career, could you please clarify what additional screenshots I should share?
 
Last edited:
@vassilev

Have you tried doing a sleep resume cycle with Sleep Defaults - Cache Ratio not checked? This feature might cause stability problems with 12th Gen processors.

Another thing to try is set the P Cache offset voltage to +0.0000. Do not check the Unlock Adjustable Voltage box for the P cache. I believe the P Core offset will still work and will reduce power consumption and temperatures even when the P Cache is set to zero.

Set IccMax for the core and the P cache to the max, 511.75.

I don't think this is a hardware problem.
Many computers with 12th Gen processors have the same issues as you are having. 12th, 13th and 14th Gen processors are almost identical. ThrottleStop uses the same code when any 12th Gen or newer processor is detected. Users with 13th and 14th Gen processors never have any stability problems like you are having.

For some unknown reason, the cache on the 12th Gen CPUs is extra sensitive to any changes in voltage or speed. When ThrottleStop tries to set the cache to run at default speed and voltage, that can cause an instant crash. The default cache speed seems to be too much or maybe the default voltage is not enough. I have seen some motherboards that limit the cache speed equal to the CPU base frequency to help avoid any problems.

Try the tricks I mentioned above and see if that helps.
 
Thank you for the feedback!
I have tried leaving the sleep defaults cache ratio not checked, but unfortunately it still crashes.

Setting only the P core offset works but the effects are far from what offsetting the P cache manages to achieve. At the same temperature limit, there is a difference of 400mhz per P core and 200 mhz per E core, and about 20-25 watts. For my CPU, it seems that the P cache is what's most important for keeping the temps and power consumption low.
I have also experimented with IccMax before posting, but it doesn't make a difference.

There is indeed something really fishy going on with the cache ratio as when everything is at default, it goes up to 46, regardless of whether the E cores are enabled or not. However, when the E cores are enabled, just checking the unlock adjustable voltage box for the P cache causes an instant crash if I have not set the cache ratio to 36 before doing so. When the E cores are disabled I can leave/set it to 46 through Throttlestop and play with the offset, and there are no immediate crashes.
 
I have an update on this. If I manually set the cache ratio to 36 using the slider in FIVR, while also keeping the 4-36 min/max setting, the crashes when going to/waking from sleep are fully resolved. However, the BSODs on restart are still there and I don't have any explanation why this happens. It's very weird that the sleep is now working okay, but restarts not - I would have bet the opposite is more likely.

For now I've just disabled the E cores in general and am very happy with the setup with just P cores, as this comes with its own benefits.. I might continue digging into the issues with cache ratio and E cores but I need a break from blue screens. :D
 
Last edited:
Back
Top