[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200508053523.GH19464@codeaurora.org>
Date: Fri, 8 May 2020 11:05:23 +0530
From: Pavan Kondeti <pkondeti@...eaurora.org>
To: Quentin Perret <qperret@...gle.com>
Cc: linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de, x86@...nel.org,
hpa@...or.com, sudeep.holla@....com, gregkh@...uxfoundation.org,
rafael@...nel.org, viresh.kumar@...aro.org, peterz@...radead.org,
juri.lelli@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, mcgrof@...nel.org, keescook@...omium.org,
yzaikin@...gle.com, fweisbec@...il.com, tkjos@...gle.com,
kernel-team@...roid.com
Subject: Re: [PATCH 04/14] sched: cpufreq: Move
sched_cpufreq_governor_change()
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 <qperret@...gle.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.
Powered by blists - more mailing lists