Re: [PATCH] Revert "cpufreq: schedutil: Don't restrict kthread to related_cpus unnecessarily"

From: Quentin Perret
Date: Tue May 08 2018 - 06:02:35 EST


On Tuesday 08 May 2018 at 15:15:26 (+0530), Viresh Kumar wrote:
> On 08-05-18, 11:09, Dietmar Eggemann wrote:
> > This would make sure that the kthreads are bound to the correct set of cpus
> > for platforms with those cpufreq drivers (cpufreq-dt (h960), scmi-cpufreq,
> > scpi-cpufreq) but it will also change the logic (e.g.
> > sugov_should_update_freq() -> cpufreq_can_do_remote_dvfs()).
>
> Yeah, I misunderstood your patch a bit. So you are not disabling
> remote updates but only limiting the CPUs where the kthread runs.
>
> That still looks to be a big little specific problem to me right now
> and I am not sure why should we specially handle these kthreads ?
> Isn't the same true for any other threads/tasks in the kernel which
> may end up running on big CPUs ? And this problem still occurs with
> the EAS patches applied ? As I thought we may end up keeping such
> small tasks on little cores then.

The sugov kthreads are DL tasks so they're not impacted by EAS. But even
if you take EAS out of the picture, those kthreads are assigned to a
"random" CPU at boot time and stay there forever (because that's how DL
works). Is this what we want ?

>
> > I'm still struggling to understand when a driver/platform should set
> > dvfs_possible_from_any_cpu to true and what the actual benefit would be.
>
> Ideally it should be set by default for all ARM platforms at least
> which have more than one cpufreq policy,

Looking at the commit you mention below it seems that you did the
testing on the old hikey which has only one cpufreq policy. Did you try
on other platforms as well ?

> as there is no hardware
> limitation for changing frequency from other CPUs. If you look at the
> commit logs of patches which added remote updates, you will see
> interesting cases where this can be very useful.
>
> commit 674e75411fc2 ("sched: cpufreq: Allow remote cpufreq callbacks")
>
> --
> viresh

Thanks,
Quentin