Messages in this thread | | | Date | Thu, 30 Jul 2020 10:13:46 +0530 | From | Viresh Kumar <> | 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
| |