]> rtime.felk.cvut.cz Git - linux-imx.git/commit
ACPI / processor: Initialize per_cpu(processors, pr->id) properly
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 30 May 2013 19:55:46 +0000 (21:55 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 30 May 2013 19:55:46 +0000 (21:55 +0200)
commit2e4f1db49d97222110b6add9a2c6cf5251a41e35
tree4036354ff6e279c4991e5f9692407423265a5bd0
parent1001b4d4a8ee6b2e7a6078a02ccdf68f91b192bd
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>
drivers/acpi/acpi_processor.c
drivers/acpi/processor_driver.c