On Thu, Mar 19, 2026 at 09:19:40AM +0100, David Hildenbrand (Arm) wrote: > All architectures that select CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE also > select CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG. So we can just remove > CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE. > > For CONFIG_MIGRATION, make it depend on CONFIG_MEMORY_HOTREMOVE instead, > and make CONFIG_MEMORY_HOTREMOVE select CONFIG_MIGRATION (just like > CONFIG_CMA and CONFIG_COMPACTION already do).
Makes sense! > > We'll clean up CONFIG_MIGRATION next. > > Signed-off-by: David Hildenbrand (Arm) <[email protected]> LGTM, so: Reviewed-by: Lorenzo Stoakes (Oracle) <[email protected]> > --- > arch/arm64/Kconfig | 1 - > arch/loongarch/Kconfig | 1 - > arch/powerpc/Kconfig | 1 - > arch/riscv/Kconfig | 1 - > arch/s390/Kconfig | 1 - > arch/x86/Kconfig | 1 - > mm/Kconfig | 9 +++------ > 7 files changed, 3 insertions(+), 12 deletions(-) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 38dba5f7e4d2..bcd9f5bc66e2 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -16,7 +16,6 @@ config ARM64 > select ARCH_BINFMT_ELF_STATE > select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION > select ARCH_ENABLE_MEMORY_HOTPLUG > - select ARCH_ENABLE_MEMORY_HOTREMOVE > select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2 > select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE > select ARCH_HAS_CACHE_LINE_SIZE > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig > index d211c6572b0a..dbf65ad512f1 100644 > --- a/arch/loongarch/Kconfig > +++ b/arch/loongarch/Kconfig > @@ -12,7 +12,6 @@ config LOONGARCH > select ARCH_NEEDS_DEFER_KASAN > select ARCH_DISABLE_KASAN_INLINE > select ARCH_ENABLE_MEMORY_HOTPLUG > - select ARCH_ENABLE_MEMORY_HOTREMOVE > select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE > select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI > select ARCH_HAS_CPU_FINALIZE_INIT > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index ad7a2fe63a2a..9f3417b75b2b 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -126,7 +126,6 @@ config PPC > select ARCH_DISABLE_KASAN_INLINE if PPC_RADIX_MMU > select ARCH_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE > select ARCH_ENABLE_MEMORY_HOTPLUG > - select ARCH_ENABLE_MEMORY_HOTREMOVE > select ARCH_HAS_COPY_MC if PPC64 > select ARCH_HAS_CURRENT_STACK_POINTER > select ARCH_HAS_DEBUG_VIRTUAL > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > index 90c531e6abf5..61a9d8d3ea64 100644 > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -21,7 +21,6 @@ config RISCV > select ARCH_DMA_DEFAULT_COHERENT > select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION > select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM_VMEMMAP > - select ARCH_ENABLE_MEMORY_HOTREMOVE if MEMORY_HOTPLUG > select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2 > select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE > select ARCH_HAS_BINFMT_FLAT > diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig > index edc927d9e85a..d01800962d84 100644 > --- a/arch/s390/Kconfig > +++ b/arch/s390/Kconfig > @@ -85,7 +85,6 @@ config S390 > select ARCH_32BIT_USTAT_F_TINODE > select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE > select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM > - select ARCH_ENABLE_MEMORY_HOTREMOVE > select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2 > select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE > select ARCH_HAS_CC_CAN_LINK > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index e2df1b147184..c290fe363f27 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -69,7 +69,6 @@ config X86 > select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE > select ARCH_ENABLE_HUGEPAGE_MIGRATION if X86_64 && HUGETLB_PAGE && > MIGRATION > select ARCH_ENABLE_MEMORY_HOTPLUG if X86_64 > - select ARCH_ENABLE_MEMORY_HOTREMOVE if MEMORY_HOTPLUG > select ARCH_ENABLE_SPLIT_PMD_PTLOCK if (PGTABLE_LEVELS > 2) && (X86_64 > || X86_PAE) > select ARCH_ENABLE_THP_MIGRATION if X86_64 && TRANSPARENT_HUGEPAGE > select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI > diff --git a/mm/Kconfig b/mm/Kconfig > index c012944938a7..b2e21d873d3f 100644 > --- a/mm/Kconfig > +++ b/mm/Kconfig > @@ -465,9 +465,6 @@ config HAVE_BOOTMEM_INFO_NODE > config ARCH_ENABLE_MEMORY_HOTPLUG > bool > > -config ARCH_ENABLE_MEMORY_HOTREMOVE > - bool > - > # eventually, we can have this option just 'select SPARSEMEM' > menuconfig MEMORY_HOTPLUG > bool "Memory hotplug" > @@ -540,8 +537,8 @@ endchoice > config MEMORY_HOTREMOVE > bool "Allow for memory hot remove" > select HAVE_BOOTMEM_INFO_NODE if (X86_64 || PPC64) > - depends on MEMORY_HOTPLUG && ARCH_ENABLE_MEMORY_HOTREMOVE > - depends on MIGRATION > + depends on MEMORY_HOTPLUG > + select MIGRATION > > config MHP_MEMMAP_ON_MEMORY > def_bool y > @@ -636,7 +633,7 @@ config PAGE_REPORTING > config MIGRATION > bool "Page migration" > default y > - depends on (NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION || CMA) > && MMU > + depends on (NUMA || MEMORY_HOTREMOVE || COMPACTION || CMA) && MMU > help > Allows the migration of the physical location of pages of processes > while the virtual addresses are not changed. This is useful in > > -- > 2.43.0 >
