Re: [PATCH 181/228] cpufreq: move freq change notifications tocpufreq core

From: Viresh Kumar
Date: Fri Sep 13 2013 - 12:03:32 EST


On 13 September 2013 21:23, Russell King - ARM Linux
<linux@xxxxxxxxxxxxxxxx> wrote:
> On Fri, Sep 13, 2013 at 06:32:07PM +0530, Viresh Kumar wrote:
>> + read_lock_irqsave(&cpufreq_driver_lock, flags);
>> + notify = !(cpufreq_driver->flags & CPUFREQ_ASYNC_NOTIFICATION);
>> + read_unlock_irqrestore(&cpufreq_driver_lock, flags);
>
> I don't think this needs to be read under a lock - if this bit changes
> dynamically, then there's something very wrong.

No it doesn't change dynamically.. Was a mistake..
Following change folded into the original commit (attached)

diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 2c1ae708..bb7402d 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1802,7 +1802,6 @@ int __cpufreq_driver_target(struct cpufreq_policy *policy,
else if (cpufreq_driver->target_index) {
struct cpufreq_frequency_table *freq_table;
struct cpufreq_freqs freqs;
- unsigned long flags;
bool notify;
int index;

@@ -1824,9 +1823,7 @@ int __cpufreq_driver_target(struct cpufreq_policy *policy,
goto out;
}

- read_lock_irqsave(&cpufreq_driver_lock, flags);
notify = !(cpufreq_driver->flags & CPUFREQ_ASYNC_NOTIFICATION);
- read_unlock_irqrestore(&cpufreq_driver_lock, flags);

if (notify) {
freqs.old = policy->cur;

Attachment: 0181-cpufreq-move-freq-change-notifications-to-cpufreq-co.patch
Description: Binary data