[CPUFREQ] Rewrite lock in cpufreq to eliminate cpufreq/hotplug related issues
authorVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Tue, 6 Feb 2007 00:12:44 +0000 (16:12 -0800)
committerDave Jones <davej@redhat.com>
Sun, 11 Feb 2007 01:01:47 +0000 (20:01 -0500)
commit5a01f2e8f3ac134e24144d74bb48a60236f7024d
tree8d807b81618dc1b4782e0e58a9629a6d0a09fbe3
parentc120069779e3e35917c15393cf2847fa79811eb6
[CPUFREQ] Rewrite lock in cpufreq to eliminate cpufreq/hotplug related issues

Yet another attempt to resolve cpufreq and hotplug locking issues.

Patchset has 3 patches:
* Rewrite the lock infrastructure of cpufreq using a per cpu rwsem.
* Minor restructuring of work callback in ondemand driver.
* Use the new cpufreq rwsem infrastructure in ondemand work.

This patch:

Convert policy->lock to rwsem and move it to per_cpu area.
This rwsem will protect against both changing/accessing policy
related parameters and CPU hot plug/unplug.

[malattia@linux.it: fix oops in kref_put()]
Cc: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Jones <davej@redhat.com>
drivers/cpufreq/cpufreq.c
include/linux/cpufreq.h