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. Reviewed-by: Wei Yang <richard.weiy...@gmail.com> Acked-by: Michal Hocko <mho...@suse.com> Acked-by: Michael Ellerman <m...@ellerman.id.au> Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> Cc: Paul Mackerras <pau...@samba.org> Cc: Michael Ellerman <m...@ellerman.id.au> Cc: Andrew Morton <a...@linux-foundation.org> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> Cc: Michal Hocko <mho...@kernel.org> Cc: Oscar Salvador <osalva...@suse.de> Cc: "Rafael J. Wysocki" <raf...@kernel.org> Cc: Baoquan He <b...@redhat.com> Cc: Wei Yang <richard.weiy...@gmail.com> Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: David Hildenbrand <da...@redhat.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