On 28-08-20, 18:33, Ionela Voinescu wrote: > Now that the update of the FI scale factor is done in cpufreq core for > selected functions - target(), target_index() and fast_switch(), > we can provide feedback to the task scheduler and architecture code > on whether cpufreq supports FI. > > For this purpose provide an external function to expose whether the > cpufreq drivers support FI, by using a static key. > > The logic behind the enablement of cpufreq-based invariance is as > follows: > - cpufreq-based invariance is disabled by default > - cpufreq-based invariance is enabled if any of the callbacks > above is implemented while the unsupported setpolicy() is not > > The cpufreq_supports_freq_invariance() function only returns whether > cpufreq is instrumented with the arch_set_freq_scale() calls that > result in support for frequency invariance. Due to the lack of knowledge > on whether the implementation of arch_set_freq_scale() actually results > in the setting of a scale factor based on cpufreq information, it is up > to the architecture code to ensure the setting and provision of the > scale factor to the scheduler. > > Signed-off-by: Ionela Voinescu <ionela.voine...@arm.com> > Cc: Rafael J. Wysocki <r...@rjwysocki.net> > Cc: Viresh Kumar <viresh.ku...@linaro.org> > --- > drivers/cpufreq/cpufreq.c | 16 ++++++++++++++++ > include/linux/cpufreq.h | 5 +++++ > 2 files changed, 21 insertions(+)
Acked-by: Viresh Kumar <viresh.ku...@linaro.org> -- viresh