Re: [PATCH 3/7] cpufreq: Only query drivers that implement cpufreq_driver.target()

From: Viresh Kumar
Date: Tue Feb 05 2013 - 20:47:24 EST


On Tue, Feb 5, 2013 at 11:54 PM, <dirk.brandewie@xxxxxxxxx> wrote:
> From: Dirk Brandewie <dirk.brandewie@xxxxxxxxx>
>
> Scaling drivers that implement cpufreq_driver.setpolicy() have
> internal governors and may/will change the current operating frequency
> very frequently this will cause cpufreq_out_of_sync() to be called
> every time. Only call cpufreq_driver.get() for drivers that implement
> cpufreq_driver.target()
>
> Signed-off-by: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx>
> ---
> drivers/cpufreq/cpufreq.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 96bc302..d8daa4b 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -1787,7 +1787,7 @@ int cpufreq_update_policy(unsigned int cpu)
>
> /* BIOS might change freq behind our back
> -> ask driver for current freq and notify governors about a change */
> - if (cpufreq_driver->get) {
> + if (cpufreq_driver->get && cpufreq_driver->target) {
> policy.cur = cpufreq_driver->get(cpu);
> if (!data->cur) {
> pr_debug("Driver did not initialize current freq");

I am really not liking copy-pasting my older comments here :(

"This would mean policy->cur has a garbage value. I don't really know
how would other routine behave on this. Would it make sense to make
policy->cur zero atleast?
"
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/