06-29-2020, 08:54 AM
If you're running a new enough kernel, the scheduler should be big.LITTLE aware and should generally do the right thing. I've been perfectly happy with the 5.7 kernel and it's behavior.
On a normal Linux kernel, CPUs 0-3 are the little cores, CPUs 4-5 are the big cores. You should generally see a CPU bound task eventually migrate over to CPU 4 or 5 for the most part.
If you want to toggle cores online/offline, I've got a handful of little utility scripts I wrote that make it easier: https://github.com/syonyk/pinebookpro
But after playing around for a while, I just let the kernel do it's thing.
However, if you really, really want to force a task to run only on the big cores, taskset should do it for you. Just pin it to cores 4 and 5 (the big cores).
More trouble than it's worth, though. The modern schedulers really do generally get the job done properly.
On a normal Linux kernel, CPUs 0-3 are the little cores, CPUs 4-5 are the big cores. You should generally see a CPU bound task eventually migrate over to CPU 4 or 5 for the most part.
If you want to toggle cores online/offline, I've got a handful of little utility scripts I wrote that make it easier: https://github.com/syonyk/pinebookpro
But after playing around for a while, I just let the kernel do it's thing.
However, if you really, really want to force a task to run only on the big cores, taskset should do it for you. Just pin it to cores 4 and 5 (the big cores).
Code:
taskset -c 4,5 [your task]
More trouble than it's worth, though. The modern schedulers really do generally get the job done properly.