[RFC PATCH 3/8] memory-hotplug: call remove_memory() to cleanup when removing memory device
Wen Congyang
wency at cn.fujitsu.com
Fri Jul 20 17:10:36 EST 2012
We should remove the following things when removing the memory device:
1. memmap and related sysfs files
2. iomem_resource
3. mem_section and related sysfs files
4. node and related sysfs files
The function remove_memory() can do this. So call it after the memory device
is offlined.
CC: David Rientjes <rientjes at google.com>
CC: Jiang Liu <liuj97 at gmail.com>
CC: Len Brown <len.brown at intel.com>
CC: Benjamin Herrenschmidt <benh at kernel.crashing.org>
CC: Paul Mackerras <paulus at samba.org>
CC: Christoph Lameter <cl at linux.com>
Cc: Minchan Kim <minchan.kim at gmail.com>
CC: Andrew Morton <akpm at linux-foundation.org>
CC: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
CC: Yasuaki Ishimatsu <isimatu.yasuaki at jp.fujitsu.com>
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
---
drivers/acpi/acpi_memhotplug.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index 712e767..58e4e63 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -315,7 +315,7 @@ static int acpi_memory_disable_device(struct acpi_memory_device *mem_device)
{
int result;
struct acpi_memory_info *info, *n;
-
+ int node = mem_device->nid;
/*
* Ask the VM to offline this memory range.
@@ -330,6 +330,11 @@ static int acpi_memory_disable_device(struct acpi_memory_device *mem_device)
if (result)
return result;
}
+
+ result = remove_memory(node, info->start_addr,
+ info->length);
+ if (result)
+ return result;
}
list_del(&info->list);
kfree(info);
--
1.7.1
More information about the Linuxppc-dev
mailing list