[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200730044346.rgtaikotkgwdpc3m@vireshk-mac-ubuntu>
Date: Thu, 30 Jul 2020 10:13:46 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Ionela Voinescu <ionela.voinescu@....com>
Cc: rjw@...ysocki.net, dietmar.eggemann@....com,
catalin.marinas@....com, sudeep.holla@....com, will@...nel.org,
linux@...linux.org.uk, mingo@...hat.com, peterz@...radead.org,
linux-pm@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 4/7] cpufreq: report whether cpufreq supports
Frequency Invariance (FI)
On 22-07-20, 10:37, Ionela Voinescu wrote:
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 3497c1cd6818..1d0b046fe8e9 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -61,6 +61,9 @@ static struct cpufreq_driver *cpufreq_driver;
> static DEFINE_PER_CPU(struct cpufreq_policy *, cpufreq_cpu_data);
> static DEFINE_RWLOCK(cpufreq_driver_lock);
>
> +/* Mark support for the scheduler's frequency invariance engine */
> +static DEFINE_STATIC_KEY_FALSE(cpufreq_set_freq_scale);
> +
> /* Flag to suspend/resume CPUFreq governors */
> static bool cpufreq_suspended;
>
> @@ -69,6 +72,25 @@ static inline bool has_target(void)
> return cpufreq_driver->target_index || cpufreq_driver->target;
> }
>
> +static inline
> +void enable_cpufreq_freq_invariance(struct cpufreq_driver *driver)
> +{
> + if ((driver->target || driver->target_index || driver->fast_switch) &&
> + !driver->setpolicy) {
Just checking for !driver->setpolicy should be enough here.
> + static_branch_enable_cpuslocked(&cpufreq_set_freq_scale);
> + pr_debug("%s: Driver %s can provide frequency invariance.",
> + __func__, driver->name);
I think a simpler print will work well too.
pr_debug("Freq invariance enabled");
__func__ isn't really required as this is the only print with that
kind of info in cpufreq.c.
> + } else
> + pr_err("%s: Driver %s cannot provide frequency invariance.",
> + __func__, driver->name);
Why not supporting freq-invariance an error ? I will just drop this
message completely.
--
viresh
Powered by blists - more mailing lists