All of lore.kernel.org
 help / color / mirror / Atom feed
* [Patch 1/1] Hot cpu remove patch
@ 2011-07-25  3:01 Shen Canquan
  0 siblings, 0 replies; 2+ messages in thread
From: Shen Canquan @ 2011-07-25  3:01 UTC (permalink / raw)
  To: linux-acpi

Hello,
   Recently, I test the cpu hot add and remove function. It is ok for cpu hot add. but it is failure on cpu hot remove . If I modify the source code(Please see the following patch content). It is successful on cpu hot remove.
patch content:
 
--- linux-2.6.39.3_modify/drivers/acpi/processor_driver.c       2011-07-25 09:11:51.000000000 +0800
+++ linux-2.6.39.3/drivers/acpi/processor_driver.c      2011-07-09 14:16:06.000000000 +0800
@@ -677,11 +677,6 @@
                                    "Driver data is NULL, dropping EJECT\n");
                        return;
                }
-               /*The alternative way of modify is add the following code:
-                       kobject_uevent(&device->dev.kobj, KOBJ_OFFLINE);
-               */
-               /*async execute the acip_bus_hot_remove_device*/
-               acpi_os_hotplug_execute(acpi_bus_hot_remove_device, handle);
                break;
        default:
                ACPI_DEBUG_PRINT((ACPI_DB_INFO,
diff -u -r linux-2.6.39.3_modify/drivers/acpi/scan.c linux-2.6.39.3/drivers/acpi/scan.c
--- linux-2.6.39.3_modify/drivers/acpi/scan.c   2011-07-20 15:28:52.000000000 +0800
+++ linux-2.6.39.3/drivers/acpi/scan.c  2011-07-09 14:16:06.000000000 +0800
@@ -83,7 +83,7 @@
 }
 static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL);
- void acpi_bus_hot_remove_device(void *context)
+static void acpi_bus_hot_remove_device(void *context)
 {
        struct acpi_device *device;
        acpi_handle handle = context;
diff -u -r linux-2.6.39.3_modify/include/acpi/acpi_bus.h linux-2.6.39.3/include/acpi/acpi_bus.h
--- linux-2.6.39.3_modify/include/acpi/acpi_bus.h       2011-07-20 15:30:04.000000000 +0800
+++ linux-2.6.39.3/include/acpi/acpi_bus.h      2011-07-09 14:16:06.000000000 +0800
@@ -342,7 +342,7 @@
                          const struct acpi_device_id *ids);
 int acpi_create_dir(struct acpi_device *);
 void acpi_remove_dir(struct acpi_device *);
-void acpi_bus_hot_remove_device(void *context);
+
 /*
  * Bind physical devices with ACPI devices
                                               
 */
 
 
Jason.shen
2011-07-25

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Patch 1/1] Hot cpu remove patch
@ 2011-07-25 12:04 Shen Canquan
  0 siblings, 0 replies; 2+ messages in thread
From: Shen Canquan @ 2011-07-25 12:04 UTC (permalink / raw)
  To: linux-kernel

Hello,
   Recently, I test the cpu hot add and remove function. It is ok for cpu hot add. but it is failure on cpu hot remove . If I modify the source code(Please see the following patch content). It is successful on cpu hot remove.
patch content:
 
--- linux-2.6.39.3_modify/drivers/acpi/processor_driver.c       2011-07-25 09:11:51.000000000 +0800
+++ linux-2.6.39.3/drivers/acpi/processor_driver.c      2011-07-09 14:16:06.000000000 +0800
@@ -677,11 +677,6 @@
                                    "Driver data is NULL, dropping EJECT\n");
                        return;
                }
-               /*The alternative way of modify is add the following code:
-                       kobject_uevent(&device->dev.kobj, KOBJ_OFFLINE);
-               */
-               /*async execute the acip_bus_hot_remove_device*/
-               acpi_os_hotplug_execute(acpi_bus_hot_remove_device, handle);
                break;
        default:
                ACPI_DEBUG_PRINT((ACPI_DB_INFO,
diff -u -r linux-2.6.39.3_modify/drivers/acpi/scan.c linux-2.6.39.3/drivers/acpi/scan.c
--- linux-2.6.39.3_modify/drivers/acpi/scan.c   2011-07-20 15:28:52.000000000 +0800
+++ linux-2.6.39.3/drivers/acpi/scan.c  2011-07-09 14:16:06.000000000 +0800
@@ -83,7 +83,7 @@
 }
 static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL);
- void acpi_bus_hot_remove_device(void *context)
+static void acpi_bus_hot_remove_device(void *context)
 {
        struct acpi_device *device;
        acpi_handle handle = context;
diff -u -r linux-2.6.39.3_modify/include/acpi/acpi_bus.h linux-2.6.39.3/include/acpi/acpi_bus.h
--- linux-2.6.39.3_modify/include/acpi/acpi_bus.h       2011-07-20 15:30:04.000000000 +0800
+++ linux-2.6.39.3/include/acpi/acpi_bus.h      2011-07-09 14:16:06.000000000 +0800
@@ -342,7 +342,7 @@
                          const struct acpi_device_id *ids);
 int acpi_create_dir(struct acpi_device *);
 void acpi_remove_dir(struct acpi_device *);
-void acpi_bus_hot_remove_device(void *context);
+
 /*
  * Bind physical devices with ACPI devices
                                               
 */
 
 
Jason.shen
2011-07-25

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-07-25 12:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-25  3:01 [Patch 1/1] Hot cpu remove patch Shen Canquan
2011-07-25 12:04 Shen Canquan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.