force offline the processor during hot-removal

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Wednesday, July 16, 2008 - 4:04 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b62b8e...
Commit:     b62b8ef906cdf7115af579ce7378886ce3e0ce00
Parent:     26d46867b7d27f68a446b073dac7817721ae4c8f
Author:     Zhang Rui <rui.zhang@intel.com>
AuthorDate: Tue Apr 29 02:35:56 2008 -0400
Committer:  Andi Kleen <andi@basil.nowhere.org>
CommitDate: Wed Jul 16 23:27:01 2008 +0200

    force offline the processor during hot-removal
    
    The ACPI device node for the cpu has already been unregistered
    when acpi_processor_handle_eject is called.
    Thus we should offline the cpu and continue, rather than a failure here.
    http://bugzilla.kernel.org/show_bug.cgi?id=9772
    
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 drivers/acpi/processor_core.c |    6 +++---
 kernel/cpu.c                  |    1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index 9dd0fa9..1c0008e 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -1014,9 +1014,9 @@ static acpi_status acpi_processor_hotadd_init(acpi_handle handle, int *p_cpu)
 
 static int acpi_processor_handle_eject(struct acpi_processor *pr)
 {
-	if (cpu_online(pr->id)) {
-		return (-EINVAL);
-	}
+	if (cpu_online(pr->id))
+		cpu_down(pr->id);
+
 	arch_unregister_cpu(pr->id);
 	acpi_unmap_lsapic(pr->id);
 	return (0);
diff --git a/kernel/cpu.c b/kernel/cpu.c
index b11f06d..cfb1d43 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -299,6 +299,7 @@ int __ref cpu_down(unsigned int cpu)
 	cpu_maps_update_done();
 	return err;
 }
+EXPORT_SYMBOL(cpu_down);
 #endif /*CONFIG_HOTPLUG_CPU*/
 
 /* Requires cpu_add_remove_lock to be held */
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
force offline the processor during hot-removal, Linux Kernel Mailing ..., (Wed Jul 16, 4:04 pm)