Scheduling under CPU capacity constraints


One Line Summary

The potential difference in max and delivered CPU performance (capacity) is growing (thermal and peak current management), can we keep ignoring it, or should load-balancing factor the constraints in?


CPU performance constraints imposed by the Linux thermal framework, or hardware/firmware are not currently considered by the Linux task scheduler despite that many modern systems are operating under such constraints on a regular basis. The assumption all CPUs can always be fully utilized at their highest performance point (OPP, P-state, frequency) is no longer valid and can lead to suboptimal task placement decisions. Should we introduce static “guaranteed” CPU capacity in the scheduler as it already exist in ACPI or let the thermal framework inform the scheduler about current constraints?


  • Biography

    Morten Rasmussen is Principal Software Engineer at Arm Ltd. working on OS power management and task scheduling. He has been working task scheduling for asymmetric CPU capacity systems since the early days of big.LITTLE.