Given the maturity gained by cpufreq-based Frequency Invariance (FI) support following the patches at [1], this series conditions Energy Aware Scheduling (EAS) enablement on a frequency invariant system.
Currently, EAS can be enabled on a system without FI support, leading to incorrect (energy-wise) task placements. As no warning is emitted, it could take some debugging effort to track the behavior back to the lack of FI support; this series changes that by disabling EAS (and advertising it) when FI support is missing. The series is structured as follows: - 1/3 - create function that can rebuild the scheduling and EAS' performance domains if EAS' initial conditions change - 2/3 - condition EAS enablement on FI support - 3/3 - arm64: rebuild scheduling and performance domains in the case of late, counter-driven FI initialisation. This series is dependent on the patches at [1] and based on linux-next 20200918. [1] Most recent version at: https://lore.kernel.org/lkml/20200901205549.30096-1-ionela.voine...@arm.com/ Ionela Voinescu (3): sched/topology,schedutil: wrap sched domains rebuild sched/topology: condition EAS enablement on FIE support arm64: rebuild sched domains on invariance status changes arch/arm64/include/asm/topology.h | 1 + arch/arm64/kernel/topology.c | 10 ++++++++++ include/linux/sched/topology.h | 1 + kernel/sched/cpufreq_schedutil.c | 9 +-------- kernel/sched/topology.c | 26 +++++++++++++++++++------- 5 files changed, 32 insertions(+), 15 deletions(-) base-commit: b652d2a5f2a4e93d803cc33eb57fdc41ee528500 prerequisite-patch-id: 592324cdfe0735a845d827d23f4d042b66e480ae prerequisite-patch-id: b232a586616b573b7fc320df2dcf4783f26dc169 prerequisite-patch-id: 8a8238e55f4e522eb0ee44c1d4a083cac019959a prerequisite-patch-id: 8edd7fc97f15c7f737339d3e07dbcd6c6d99d986 prerequisite-patch-id: b24b28cd2ec4c929b770f5dd3eeb30f839f8d6ab -- 2.17.1