Message ID | 20200924123937.20938-1-ionela.voinescu@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | condition EAS enablement on FI support | expand |
On Thursday 24 Sep 2020 at 13:39:34 (+0100), Ionela Voinescu wrote: > 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. I'm still reading through this, but shouldn't patch 2 and 3 be swapped? Otherwise we have a weird state at patch 2 where EAS will fail to start (IIUC), which might not be ideal for bisection. Thoughts? Cheers, Quentin
On Thursday 24 Sep 2020 at 14:37:27 (+0100), Quentin Perret wrote: > On Thursday 24 Sep 2020 at 13:39:34 (+0100), Ionela Voinescu wrote: > > 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. > > I'm still reading through this, but shouldn't patch 2 and 3 be swapped? > Otherwise we have a weird state at patch 2 where EAS will fail to start > (IIUC), which might not be ideal for bisection. > > Thoughts? I probably invented myself reasons for not doing it, like: without 2/3, 3/3 does not make any sense having and the scenario at 3/3 is currently unlikely. But it would definitely make it safer, so I'll change the order. Thanks, Ionela. > > Cheers, > Quentin