]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/memory_hotplug: simplify check_pfn_span()
authorDavid Hildenbrand (Arm) <david@kernel.org>
Fri, 20 Mar 2026 22:13:37 +0000 (23:13 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 5 Apr 2026 20:53:31 +0000 (13:53 -0700)
We now always have CONFIG_SPARSEMEM_VMEMMAP, so remove the dead code.

Link: https://lkml.kernel.org/r/20260320-sparsemem_cleanups-v2-5-096addc8800d@kernel.org
Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>
Reviewed-by: Lorenzo Stoakes (Oracle) <ljs@kernel.org>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
Cc: Wei Xu <weixugc@google.com>
Cc: Yuanchu Xie <yuanchu@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory_hotplug.c

index 504aa50e3c330c2dedd1f9e94e923c6fae9ea70d..8b18ddd1e7d5c8ef1608f3786ec448d7a7fe5bec 100644 (file)
@@ -319,21 +319,13 @@ static void release_memory_resource(struct resource *res)
 static int check_pfn_span(unsigned long pfn, unsigned long nr_pages)
 {
        /*
-        * Disallow all operations smaller than a sub-section and only
-        * allow operations smaller than a section for
-        * SPARSEMEM_VMEMMAP. Note that check_hotplug_memory_range()
-        * enforces a larger memory_block_size_bytes() granularity for
-        * memory that will be marked online, so this check should only
-        * fire for direct arch_{add,remove}_memory() users outside of
-        * add_memory_resource().
+        * Disallow all operations smaller than a sub-section.
+        * Note that check_hotplug_memory_range() enforces a larger
+        * memory_block_size_bytes() granularity for memory that will be marked
+        * online, so this check should only fire for direct
+        * arch_{add,remove}_memory() users outside of add_memory_resource().
         */
-       unsigned long min_align;
-
-       if (IS_ENABLED(CONFIG_SPARSEMEM_VMEMMAP))
-               min_align = PAGES_PER_SUBSECTION;
-       else
-               min_align = PAGES_PER_SECTION;
-       if (!IS_ALIGNED(pfn | nr_pages, min_align))
+       if (!IS_ALIGNED(pfn | nr_pages, PAGES_PER_SUBSECTION))
                return -EINVAL;
        return 0;
 }