4 ms·
How would any software know which CPU to use? Apple controls the entire OS and SoC so they can schedule different tasks onto different classes of CPU.
by foobarbazetc 8y ago
How would any software know which CPU to use?
Apple controls the entire OS and SoC so they can schedule different tasks onto different classes of CPU.
- seabrookmx 8y agoThe Linux thread scheduler already knows how to do this, which is why ARM's big.LITTLE architecture works fine in Android phones. There's zero reason MS couldn't implement this in Windows. In fact, it might already be done giving HP and others are currently shipping Windows on Snapdragon devices.
- foobarbazetc 8y agoI hadn’t looked at the sched code in a couple of years. Is this article up to date: https://community.arm.com/processors/b/blog/posts/ten-things-to-know-about-big-little https://community.arm.com/processors/b/blog/posts/ten-things... ?
- seabrookmx 8y agoI believe that patch referenced in the article for "global task scheduling" that allows you to use both the big and little cores at once is now in the mainline kernel. But I don't recall where I read this so apply a few grains of salt to my comment.
- unwind 8y agoWhy would it need to? Application-level software shouldn't need to care about that, it's way too low-level. If I do: #include <stdio.h> int main(void) { printf("Hello from some core!\n"); return 0; } that code doesn't need to think about which core it runs on, or even if there are multiple cores. Of course it does nothing to support multiple cores, but it does need some core to run on. The OS just schedules the process onto some core, and then it can of course monitor the process' performance and decide to move it, if it detects a better fit. All of that is invisible to the process itself. Of course high-performance/server software might want to actually care and use OS-specific API:s and services to deal with that, but those are the exception.