Subject: Re: [RFC PATCH 3/8] memory-hotplug: call remove_memory() to cleanup when removing memory device

From: Yasuaki Ishimatsu <[email-masked]>
Date: Fri, 20 Jul 2012 16:49:56 +0900

Hi Wen,

2012/07/20 16:10, Wen Congyang wrote:
> 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 <[email-masked]>
> CC: Jiang Liu <[email-masked]>
> CC: Len Brown <[email-masked]>
> CC: Benjamin Herrenschmidt <[email-masked]>
> CC: Paul Mackerras <[email-masked]>
> CC: Christoph Lameter <[email-masked]>
> Cc: Minchan Kim <[email-masked]>
> CC: Andrew Morton <[email-masked]>
> CC: KOSAKI Motohiro <[email-masked]>
> CC: Yasuaki Ishimatsu <[email-masked]>
> Signed-off-by: Wen Congyang <[email-masked]>
> ---

I have no comment.
Reviewed-by: Yasuaki Ishimatsu <[email-masked]>

Thanks,
Yasuaki Ishimatsu

>   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);
>