mm/memory_hotplug: drop memblock_phys_free() call in try_remove_memory()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 5 Jun 2024 08:20:49 +0000 (11:20 +0300)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 4 Jul 2024 02:30:04 +0000 (19:30 -0700)
The call for memblock_phys_free() in try_remove_memory() does not balance
any call to memblock_alloc() (or memblock_reserve() for that matter).

There are no memblock_reserve() calls in mm/memory_hotplug.c, no memblock
allocations possible after mm_core_init(), and even if memblock_add_node()
called from add_memory_resource() would need to allocate memory, that
memory would ba allocated from slab.

The patch f9126ab9241f ("memory-hotplug: fix wrong edge when hot add a new
node") that introduced that call to memblock_free() does not provide
adequate description why that was required and tinkering with memblock in
the context of memory hotplug on x86 seems bogus because x86 never kept
memblock after boot anyway.

Drop memblock_phys_free() call in try_remove_memory().

[rppt@kernel.org: rewrite the commit message]
Link: https://lkml.kernel.org/r/20240605082049.973242-1-rppt@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Oscar Salvador <osalvador@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory_hotplug.c

index 9c36eb3bbd3ba2f4a1a7c3c21629beb963a58d15..171ad975c7cfd2dd20c890e76c640a48b963f7a0 100644 (file)
@@ -2282,10 +2282,8 @@ static int __ref try_remove_memory(u64 start, u64 size)
                remove_memory_blocks_and_altmaps(start, size);
        }
 
-       if (IS_ENABLED(CONFIG_ARCH_KEEP_MEMBLOCK)) {
-               memblock_phys_free(start, size);
+       if (IS_ENABLED(CONFIG_ARCH_KEEP_MEMBLOCK))
                memblock_remove(start, size);
-       }
 
        release_mem_region_adjustable(start, size);