Thread (17 messages) 17 messages, 2 authors, 2012-07-23

Re: [RFC PATCH 2/8] memory-hotplug: offline memory only when it is onlined

From: Yasuaki Ishimatsu <hidden>
Date: 2012-07-20 07:47:04
Also in: linux-acpi, linux-mm, lkml

Hi Wen,

2012/07/20 16:10, Wen Congyang wrote:
offline_memory() will fail if the memory is not onlined. So check
whether the memory is onlined before calling offline_memory().

CC: David Rientjes <rientjes@google.com>
CC: Jiang Liu <redacted>
CC: Len Brown <redacted>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Paul Mackerras <redacted>
CC: Christoph Lameter <redacted>
Cc: Minchan Kim <redacted>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: KOSAKI Motohiro <redacted>
CC: Yasuaki Ishimatsu <redacted>
Signed-off-by: Wen Congyang <redacted>
---
I have no comment.
Reviewed-by: Yasuaki Ishimatsu <redacted>

Thanks,
Yasuaki Ishimatsu
quoted hunk ↗ jump to hunk
  drivers/acpi/acpi_memhotplug.c |   10 +++++++---
  1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index db8de39..712e767 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -323,9 +323,13 @@ static int acpi_memory_disable_device(struct acpi_memory_device *mem_device)
  	 */
  	list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
  		if (info->enabled) {
-			result = offline_memory(info->start_addr, info->length);
-			if (result)
-				return result;
+			if (!is_memblk_offline(info->start_addr,
+					       info->length)) {
+				result = offline_memory(info->start_addr,
+							info->length);
+				if (result)
+					return result;
+			}
  		}
  		list_del(&info->list);
  		kfree(info);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help