Re: [PATCH 3/3] arm64: rebuild sched domains on invariance status changes

From: Dietmar Eggemann
Date: Mon Sep 28 2020 - 07:55:56 EST


On 25/09/2020 15:59, Quentin Perret wrote:
> Hey Ionela,
>
> On Thursday 24 Sep 2020 at 17:10:02 (+0100), Ionela Voinescu wrote:
>> I'm not sure what is a good way of fixing this.. I could add more info
>> to the warning to suggest it might be temporary ("Disabling EAS:
>> frequency-invariant load tracking currently not supported"). For further
>> debugging there are the additional prints guarded by sched_debug().
>>
>> I'll look over the code some more to see if other ideas pop out. Any
>> suggestions are appreciated.
>
> Right, I'm not seeing anything perfect here, but I think I'd be
> personally happy with this message being entirely guarded by
> sched_debug(), like we do for asym CPU capacities for instance.
>
> It's not easy to see if EAS has started at all w/o sched debug anyway,
> so I expect folks who need it to enable the debug stuff during
> bring-up. With a descriptive enough warn message, that should be just
> fine. But that's my 2p, so I'm happy to hear if others disagree.

Are you discussing a scenario where the system doesn't have FI via
CPUfreq but only via AMU? And then we would get the pr_warn

"rd %*pbl: Disabling EAS: frequency-invariant load tracking not
supported"

in (1)-(3)?

(1) initial sd build
(2) update_topology_flags_workfn()
(3) rebuild_sched_domains_energy()
(4) init_amu_fie()

Today (e.g. on Juno( we start EAS within (1)

root@juno:~# dmesg | grep "build_perf_domains\|EAS"
[ 3.491304] *** build_perf_domains: rd 0-5
[ 3.574226] sched_energy_set: starting EAS <--- !!!
[ 3.847584] *** build_perf_domains: rd 0-5
[ 3.928227] *** build_perf_domains: rd 0-5

And on a future AMU FI only system it would look like:

Disabling EAS: frequency-invariant load tracking not supported"
Disabling EAS: frequency-invariant load tracking not supported"
Disabling EAS: frequency-invariant load tracking not supported"
sched_energy_set: starting EAS

I guess it's a good idea to put all those warnings which indicate why
EAS can't be started under sched_debug().

The warning "rd %*pbl: CPUs do not have asymmetric capacities" already
is. This one is actually very similar to the FI related one, since
'asymmetric capacities' could only exist starting with (2) (big.LITTLE
based entirely on CPUfreq diffs)