On Thu, May 07, 2020 at 07:10:02PM +0100, Quentin Perret wrote: > CPUFreq calls into sched_cpufreq_governor_change() when switching > governors, which triggers a sched domain rebuild when entering or > exiting schedutil. > > Move the function to sched/cpufreq.c to prepare the ground for the > modularization of schedutil. > > Signed-off-by: Quentin Perret <qper...@google.com> > --- > kernel/sched/cpufreq.c | 33 ++++++++++++++++++++++++++++++++ > kernel/sched/cpufreq_schedutil.c | 33 -------------------------------- > 2 files changed, 33 insertions(+), 33 deletions(-) > > diff --git a/kernel/sched/cpufreq.c b/kernel/sched/cpufreq.c > index 7c2fe50fd76d..82f2dda61a55 100644 > --- a/kernel/sched/cpufreq.c > +++ b/kernel/sched/cpufreq.c > @@ -75,3 +75,36 @@ bool cpufreq_this_cpu_can_update(struct cpufreq_policy > *policy) > (policy->dvfs_possible_from_any_cpu && > > rcu_dereference_sched(*this_cpu_ptr(&cpufreq_update_util_data))); > } > + > +#ifdef CONFIG_ENERGY_MODEL > +extern bool sched_energy_update; > +extern struct mutex sched_energy_mutex; > + > +static void rebuild_sd_workfn(struct work_struct *work) > +{ > + mutex_lock(&sched_energy_mutex); > + sched_energy_update = true; > + rebuild_sched_domains(); > + sched_energy_update = false; > + mutex_unlock(&sched_energy_mutex); > +} > +static DECLARE_WORK(rebuild_sd_work, rebuild_sd_workfn); > + > +/* > + * EAS shouldn't be attempted without sugov, so rebuild the sched_domains > + * on governor changes to make sure the scheduler knows about it. > + */
In the previous patch, you removed reference to schedutil and replaced it with " an EAS-compatible CPUfreq governor (schedutil)". May be you could do the same here. Thanks, Pavan -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.