Making the most of Apple Silicon power: 2 Core capabilities (2022)
eclecticlight.co
eclecticlight.co
1. "M-series chips are different" https://eclecticlight.co/2022/10/03/making-the-most-of-apple...
2. "Core capabilities" https://eclecticlight.co/2022/10/05/making-the-most-of-apple... (this one)
3. "Controls" https://eclecticlight.co/2022/10/13/making-the-most-of-apple...
4. "Frequency" https://eclecticlight.co/2022/10/17/making-the-most-of-apple...
5. "User control" https://eclecticlight.co/2022/10/20/making-the-most-of-apple...
6. "Empowering users" https://eclecticlight.co/2022/10/24/making-the-most-of-apple...
7. "Virtualisation and core use" https://eclecticlight.co/2022/10/27/making-the-most-of-apple...
The hardware classifies every thread context into one of 4 classes and provides the OS with dynamic perf/power values for all cores. It's the Windows thread scheduler that makes the final decision just like on mac but can make use of the additional hints from the CPU for doing a better job.
I'm lost on how a CPU would schedule workload when most of the information is stored in OS's process/thread structures that aren't shared with the firmware/p-code and it's supposed to work with multiple platforms.
Windows 10 and prior schedule in the blind, so to speak.
Here I use it to let my VM run in the background:
https://github.com/yoonsikp/vm_configs/blob/master/power_sav...
I wonder what went into the decision on the ratio of P to E cores. Naively it seems like more of the die space should be dedicated to E cores since they're so killer for workloads where efficiency or throughput matter. Obviously some jobs can't spread the load across multiple threads and are sensitive to single-threaded latency, but those workloads won't benefit from so many P cores anyways.
P cores are more relevant for interactive work which the user is waiting on, hence he sacrifice if efficiency.
That is why I find Intel's core mix dubious. By definition background tasks are not generally time-critical, having more cores for them doesn't usually save me time, or money.
I presume there's logic in the scheduler to prioritize E-cores for battery life purposes.
https://web.archive.org/web/20230722191544/https://eclecticl...