Merge tag 'uml-for-linus-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-starfive.git] / mm / sparse-vmemmap.c
index c5398a5..10d73a0 100644 (file)
@@ -458,8 +458,7 @@ struct page * __meminit __populate_section_memmap(unsigned long pfn,
                !IS_ALIGNED(nr_pages, PAGES_PER_SUBSECTION)))
                return NULL;
 
-       if (is_power_of_2(sizeof(struct page)) &&
-           pgmap && pgmap_vmemmap_nr(pgmap) > 1 && !altmap)
+       if (vmemmap_can_optimize(altmap, pgmap))
                r = vmemmap_populate_compound_pages(pfn, start, end, nid, pgmap);
        else
                r = vmemmap_populate(start, end, nid, altmap);