Re: [PATCH] Cpufreq: Acquire read lock in the cpufreq_policy_restore()rather than write lock

From: Srivatsa S. Bhat
Date: Wed Sep 11 2013 - 04:13:40 EST


On 09/11/2013 12:35 PM, tianyu.lan@xxxxxxxxx wrote:
> From: Lan Tianyu <tianyu.lan@xxxxxxxxx>
>
> In the cpufreq_policy_restore(), policy before system suspend is read from
> from percpu's cpufreq_cpu_data_fallback. It's read operation rather than
> write operation. So convert write lock to read lock
>
> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx>

Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>

I noticed it too yesterday, while looking at something else. Thanks for
fixing this!

> ---
> drivers/cpufreq/cpufreq.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 81ceea6..b762f9b 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -912,11 +912,11 @@ static struct cpufreq_policy *cpufreq_policy_restore(unsigned int cpu)
> struct cpufreq_policy *policy;
> unsigned long flags;
>
> - write_lock_irqsave(&cpufreq_driver_lock, flags);
> + read_lock_irqsave(&cpufreq_driver_lock, flags);
>
> policy = per_cpu(cpufreq_cpu_data_fallback, cpu);
>
> - write_unlock_irqrestore(&cpufreq_driver_lock, flags);
> + read_unlock_irqrestore(&cpufreq_driver_lock, flags);
>
> return policy;
> }
>

Regards,
Srivatsa S. Bhat

--
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/