lkml.org 
[lkml]   [2012]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] PM/Sleep, ACPI: Teach acpi_cpu_soft_notify() to handle CPU hotplug in suspend/resume path
Date
acpi_cpu_soft_notify handles only CPU_ONLINE and CPU_DEAD events. However,
during a system-wide suspend/hibernation operation, CPU_ONLINE_FROZEN and
CPU_DEAD_FROZEN events are sent as part of CPU hotplug.

Those events are really no different from regular CPU hotplug in this context,
and hence acpi shouldn't ignore them. So, teach acpi_cpu_soft_notify() to
handle those events as well.

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
---

I am no ACPI expert! So requesting a thorough review of this patch..

drivers/acpi/processor_driver.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index 2801b41..3a87b13 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -422,6 +422,12 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb,
unsigned int cpu = (unsigned long)hcpu;
struct acpi_processor *pr = per_cpu(processors, cpu);

+ /*
+ * Regular CPU hotplug, and CPU hotplug as part of the suspend/resume
+ * sequence are really no different for us. So, let us handle both.
+ */
+ action &= ~CPU_TASKS_FROZEN;
+
if (action == CPU_ONLINE && pr) {
/* CPU got physically hotplugged and onlined the first time:
* Initialize missing things


\
 
 \ /
  Last update: 2012-02-28 17:29    [W:0.063 / U:1.280 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site