Re: [PATCH v1 01/36] mm: stop making SPARSEMEM_VMEMMAP user-selectable
Wei Yang <[email protected]>
| Newsgroups | com.zx2c4.lists.wireguard,dev.linux.lists.iommu,dev.linux.lists.virtualization,org.freedesktop.lists.dri-devel,org.freedesktop.lists.intel-gfx,org.infradead.lists.linux-riscv,org.kernel.vger.io-uring,org.kernel.vger.kvm,org.kernel.vger.linux-crypto,org.kernel.vger.linux-ide,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest,org.kernel.vger.linux-mips,org.kernel.vger.linux-mmc,org.kernel.vger.linux-s390,org.kernel.vger.linux-scsi,org.kernel.vger.netdev,org.kvack.linux-mm |
|---|---|
| Message-ID | <20250828071850.kl7clyh6e75horlk@master> |
On Thu, Aug 28, 2025 at 12:01:05AM +0200, David Hildenbrand wrote: >In an ideal world, we wouldn't have to deal with SPARSEMEM without >SPARSEMEM_VMEMMAP, but in particular for 32bit SPARSEMEM_VMEMMAP is >considered too costly and consequently not supported. > >However, if an architecture does support SPARSEMEM with >SPARSEMEM_VMEMMAP, let's forbid the user to disable VMEMMAP: just >like we already do for arm64, s390 and x86. > >So if SPARSEMEM_VMEMMAP is supported, don't allow to use SPARSEMEM without >SPARSEMEM_VMEMMAP. > >This implies that the option to not use SPARSEMEM_VMEMMAP will now be >gone for loongarch, powerpc, riscv and sparc. All architectures only >enable SPARSEMEM_VMEMMAP with 64bit support, so there should not really >be a big downside to using the VMEMMAP (quite the contrary). > >This is a preparation for not supporting > >(1) folio sizes that exceed a single memory section >(2) CMA allocations of non-contiguous page ranges > >in SPARSEMEM without SPARSEMEM_VMEMMAP configs, whereby we >want to limit possible impact as much as possible (e.g., gigantic hugetlb >page allocations suddenly fails). > >Acked-by: Zi Yan <[email protected]> >Acked-by: Mike Rapoport (Microsoft) <[email protected]> >Acked-by: SeongJae Park <[email protected]> >Cc: Huacai Chen <[email protected]> >Cc: WANG Xuerui <[email protected]> >Cc: Madhavan Srinivasan <[email protected]> >Cc: Michael Ellerman <[email protected]> >Cc: Nicholas Piggin <[email protected]> >Cc: Christophe Leroy <[email protected]> >Cc: Paul Walmsley <[email protected]> >Cc: Palmer Dabbelt <[email protected]> >Cc: Albert Ou <[email protected]> >Cc: Alexandre Ghiti <[email protected]> >Cc: "David S. Miller" <[email protected]> >Cc: Andreas Larsson <[email protected]> >Signed-off-by: David Hildenbrand <[email protected]> Reviewed-by: Wei Yang <[email protected]> >--- > mm/Kconfig | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > >diff --git a/mm/Kconfig b/mm/Kconfig >index 4108bcd967848..330d0e698ef96 100644 >--- a/mm/Kconfig >+++ b/mm/Kconfig >@@ -439,9 +439,8 @@ config SPARSEMEM_VMEMMAP_ENABLE > bool > > config SPARSEMEM_VMEMMAP >- bool "Sparse Memory virtual memmap" >+ def_bool y > depends on SPARSEMEM && SPARSEMEM_VMEMMAP_ENABLE >- default y > help > SPARSEMEM_VMEMMAP uses a virtually mapped memmap to optimise > pfn_to_page and page_to_pfn operations. This is the most >-- >2.50.1 > -- Wei Yang Help you, Help me