[PATCH v2 4/8] powernv/memtrace: always online added memory blocks

Wei Yang richard.weiyang at gmail.com
Wed Mar 18 09:04:56 AEDT 2020


On Tue, Mar 17, 2020 at 11:49:38AM +0100, David Hildenbrand wrote:
>Let's always try to online the re-added memory blocks. In case add_memory()
>already onlined the added memory blocks, the first device_online() call
>will fail and stop processing the remaining memory blocks.
>
>This avoids manually having to check memhp_auto_online.
>
>Note: PPC always onlines all hotplugged memory directly from the kernel
>as well - something that is handled by user space on other
>architectures.
>
>Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
>Cc: Paul Mackerras <paulus at samba.org>
>Cc: Michael Ellerman <mpe at ellerman.id.au>
>Cc: Andrew Morton <akpm at linux-foundation.org>
>Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>Cc: Michal Hocko <mhocko at kernel.org>
>Cc: Oscar Salvador <osalvador at suse.de>
>Cc: "Rafael J. Wysocki" <rafael at kernel.org>
>Cc: Baoquan He <bhe at redhat.com>
>Cc: Wei Yang <richard.weiyang at gmail.com>
>Cc: linuxppc-dev at lists.ozlabs.org
>Signed-off-by: David Hildenbrand <david at redhat.com>

Looks good.

Reviewed-by: Wei Yang <richard.weiyang at gmail.com>

>---
> arch/powerpc/platforms/powernv/memtrace.c | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
>diff --git a/arch/powerpc/platforms/powernv/memtrace.c b/arch/powerpc/platforms/powernv/memtrace.c
>index d6d64f8718e6..13b369d2cc45 100644
>--- a/arch/powerpc/platforms/powernv/memtrace.c
>+++ b/arch/powerpc/platforms/powernv/memtrace.c
>@@ -231,16 +231,10 @@ static int memtrace_online(void)
> 			continue;
> 		}
> 
>-		/*
>-		 * If kernel isn't compiled with the auto online option
>-		 * we need to online the memory ourselves.
>-		 */
>-		if (!memhp_auto_online) {
>-			lock_device_hotplug();
>-			walk_memory_blocks(ent->start, ent->size, NULL,
>-					   online_mem_block);
>-			unlock_device_hotplug();
>-		}
>+		lock_device_hotplug();
>+		walk_memory_blocks(ent->start, ent->size, NULL,
>+				   online_mem_block);
>+		unlock_device_hotplug();
> 
> 		/*
> 		 * Memory was added successfully so clean up references to it
>-- 
>2.24.1

-- 
Wei Yang
Help you, Help me


More information about the Linuxppc-dev mailing list