diff options
| author | Frederic Weisbecker <fweisbec@gmail.com> | 2013-05-02 17:37:49 +0200 | 
|---|---|---|
| committer | Frederic Weisbecker <fweisbec@gmail.com> | 2013-05-02 17:54:19 +0200 | 
| commit | c032862fba51a3ca504752d3a25186b324c5ce83 (patch) | |
| tree | 955dc2ba4ab3df76ecc2bb780ee84aca04967e8d /drivers/acpi/processor_idle.c | |
| parent | fda76e074c7737fc57855dd17c762e50ed526052 (diff) | |
| parent | 8700c95adb033843fc163d112b9d21d4fda78018 (diff) | |
| download | olio-linux-3.10-c032862fba51a3ca504752d3a25186b324c5ce83.tar.xz olio-linux-3.10-c032862fba51a3ca504752d3a25186b324c5ce83.zip  | |
Merge commit '8700c95adb03' into timers/nohz
The full dynticks tree needs the latest RCU and sched
upstream updates in order to fix some dependencies.
Merge a common upstream merge point that has these
updates.
Conflicts:
	include/linux/perf_event.h
	kernel/rcutree.h
	kernel/rcutree_plugin.h
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'drivers/acpi/processor_idle.c')
| -rw-r--r-- | drivers/acpi/processor_idle.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index fc95308e9a1..ee255c60bda 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -66,7 +66,8 @@ module_param(latency_factor, uint, 0644);  static DEFINE_PER_CPU(struct cpuidle_device *, acpi_cpuidle_device); -static struct acpi_processor_cx *acpi_cstate[CPUIDLE_STATE_MAX]; +static DEFINE_PER_CPU(struct acpi_processor_cx * [CPUIDLE_STATE_MAX], +								acpi_cstate);  static int disabled_by_idle_boot_param(void)  { @@ -722,7 +723,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,  		struct cpuidle_driver *drv, int index)  {  	struct acpi_processor *pr; -	struct acpi_processor_cx *cx = acpi_cstate[index]; +	struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu);  	pr = __this_cpu_read(processors); @@ -745,7 +746,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,   */  static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)  { -	struct acpi_processor_cx *cx = acpi_cstate[index]; +	struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu);  	ACPI_FLUSH_CPU_CACHE(); @@ -775,7 +776,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,  		struct cpuidle_driver *drv, int index)  {  	struct acpi_processor *pr; -	struct acpi_processor_cx *cx = acpi_cstate[index]; +	struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu);  	pr = __this_cpu_read(processors); @@ -833,7 +834,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,  		struct cpuidle_driver *drv, int index)  {  	struct acpi_processor *pr; -	struct acpi_processor_cx *cx = acpi_cstate[index]; +	struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu);  	pr = __this_cpu_read(processors); @@ -960,7 +961,7 @@ static int acpi_processor_setup_cpuidle_cx(struct acpi_processor *pr,  		    !(acpi_gbl_FADT.flags & ACPI_FADT_C2_MP_SUPPORTED))  			continue;  #endif -		acpi_cstate[count] = cx; +		per_cpu(acpi_cstate[count], dev->cpu) = cx;  		count++;  		if (count == CPUIDLE_STATE_MAX)  |