[CPUFREQ] Don't take semaphore in cpufreq_quick_get()
authorAndi Kleen <ak@suse.de>
Wed, 10 Oct 2007 00:18:27 +0000 (02:18 +0200)
committerDave Jones <davej@redhat.com>
Wed, 10 Oct 2007 01:44:06 +0000 (21:44 -0400)
I don't see any reason to take an expensive lock in cpufreq_quick_get()
Reading policy->cur is a single atomic operation and after
the lock is dropped again the state could change any time anyways.

So don't take the lock in the first place.

This also makes this function interrupt safe which is useful
for some code of mine.

Signed-off-by: Andi Kleen <ak@suse.de>
Cc: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
drivers/cpufreq/cpufreq.c

index e027052a66045ac93bf2eb1ab8034134770c6191..f7b9d6fce1236738ba7861ac7f0b7c7c5b14b9eb 100644 (file)
@@ -1111,12 +1111,7 @@ unsigned int cpufreq_quick_get(unsigned int cpu)
        unsigned int ret_freq = 0;
 
        if (policy) {
-               if (unlikely(lock_policy_rwsem_read(cpu)))
-                       return ret_freq;
-
                ret_freq = policy->cur;
-
-               unlock_policy_rwsem_read(cpu);
                cpufreq_cpu_put(policy);
        }