Thread (272 messages) 272 messages, 11 authors, 2013-10-04

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

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2013-09-13 16:03:28
Also in: linux-arm-kernel, lkml
Subsystem: cpu frequency scaling framework, the rest · Maintainers: "Rafael J. Wysocki", Viresh Kumar, Linus Torvalds

On 13 September 2013 21:23, Russell King - ARM Linux
[off-list ref] wrote:
On Fri, Sep 13, 2013 at 06:32:07PM +0530, Viresh Kumar wrote:
quoted
+             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;

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help