Scheduling on heterogeneous ARM SoC
John F Carr
jfc at mit.edu
Mon Feb 11 13:12:59 UTC 2019
Two things that would be nice to have:
1. powerd should turn off the high performance cores when activity is low
2. the scheduler should distinguish high CPU tasks and put them on high performance cores
I have one of these heterogenous systems on order and I'd be happy to help out anybody who wants to work on these tasks. It's been a while since I worked in the kernel so I need to spend some time relearning the code.
> On Feb 3, 2019, at 12:36 , Greg V <greg at unrelenting.technology> wrote:
> On Sun, Feb 3, 2019 at 5:29 PM, John F Carr <jfc at mit.edu> wrote:
>> Some ARM-based single board computers combine two types of Cortex processors, for example 4 A73 and 4 A 53 or 2 A72 and 4 A53. How does FreeBSD schedule processes on these chips? Does it use all cores at random, only the "big" or "little" set, or something more complicated?
> Pretty much "at random" i.e. doesn't take the differences between cores into account.
> I'd really like to have a "fill up fastest cores first" mode, because for building software on my RK3399 board I've had to either not do anything and sometimes end up with big cores idling when little cores are compiling, or to cpuset to big cores which would end up not utilizing the little cores in highly parallel build phases…
More information about the freebsd-arm