diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-05-30 21:55:46 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-05-30 21:55:46 +0200 |
commit | 2e4f1db49d97222110b6add9a2c6cf5251a41e35 (patch) | |
tree | 4036354ff6e279c4991e5f9692407423265a5bd0 /drivers/base | |
parent | 1001b4d4a8ee6b2e7a6078a02ccdf68f91b192bd (diff) | |
download | linux-2e4f1db49d97222110b6add9a2c6cf5251a41e35.tar.gz linux-2e4f1db49d97222110b6add9a2c6cf5251a41e35.tar.bz2 linux-2e4f1db49d97222110b6add9a2c6cf5251a41e35.zip |
ACPI / processor: Initialize per_cpu(processors, pr->id) properly
Commit ac212b6 (ACPI / processor: Use common hotplug infrastructure)
forgot about initializing the per-CPU 'processors' variables which
lead to ACPI cpuidle failure to use C-states and caused boot slowdown
on multi-CPU machines.
Fix the problem by adding per_cpu(processors, pr->id) initialization
to acpi_processor_add() and add make acpi_processor_remove() clean it
up as appropriate.
Also modify acpi_processor_stop() so that it doesn't clear
per_cpu(processors, pr->id) on processor driver removal which would
then cause problems to happen when the driver is loaded again.
This version of the patch contains fixes from Yinghai Lu.
Reported-and-tested-by: Yinghai Lu <yinghai@kernel.org>
Reported-and-tested-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/base')
0 files changed, 0 insertions, 0 deletions