In linux hotplugging cpu cores is supported, so if you want to save some additional power you can do so by just turning off some of your powercores.
I was able to save 0.72 watts in idle. Bringing my idle power consumption from 2.5 to 1.78 That’s not much but if you want to get the most out of your battery, it may help you a little more.
That’s the line of code needed for turning them off.
for i in {1..12}; do echo 0 | sudo tee /sys/devices/system/cpu/cpu${i}/online; done
This line turns the cores from id 1 to id 12 off. so only 3 e-cores and 1 p-core stays alive. (If you are using the i5 1340p like me)
That’s more than enough for your office work and a some browsing.
If you want to change it, just modify the number in the for in loop from 12 to whatever you need.
The first id are typically the power cores followed by the efficiency cores at the end.
If you want to turn your cores on again you can do this either by changing the value written by echo to 1 or reboot your system.
This is great, but I would think the true power savings and thermal savings would be found when things are not idle. I’m wondering about the thermals especially. Do you have any idea of how this does on keeping things cool?
Well i still try to analyze what happens when applied, i noticed a drop in power consumption.
The sad thing is that cpu0 is a p-core and it’s usage did rise too, this specific core can’t be turned off, but more load was put on the e-cores, as they are the only cores left except for the one p-core that has to stay.
I will try to create a benchmark for getting some comparable results under load.
Under lighter load like watching a video on youtube the difference in power consumption becomes smaller again. Similar to the one measured in idle.
~0.5-0.7W
A 10-degree temperature difference is pretty significant though. I wonder if you you could give a idle temp for both full cores and the reduced p cores?
I was thinking specifically on E Cores, supposedly their Turbo Boost is so inefficient that it is worse than P Cores, so I was thinking to keep E Cores at their efficiency sweet spot while allowing P Cores to boost, not sure if it really gives hard power savings or not though.
In the terminal at the top right. core 0,4,8,12 are the p-cores
16-23 are the e-cores
and they are 2 to 7°C warmer.
I was thinking why and when i looked up for a picture of the actual die(i couldn’t find the 1340p exactly but one from another raptorlake, they should be similar), the integrated gpu is exactly next to the e-cores and behind the ecore is the location of the p-cores. Sadly i can’t get the temperature of the gpu to see if this is the reason for the higher temp, but maybe?
Couldn’t explain this otherwise.