mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE
Patch series "mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE and cleanup CONFIG_MIGRATION". While working on memory hotplug code cleanups, I realized that CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE is not really required anymore. Changing that revealed some rather nasty looking CONFIG_MIGRATION handling. Let's clean that up by introducing a dedicated CONFIG_NUMA_MIGRATION option and reducing the dependencies that CONFIG_MIGRATION has. This patch (of 2): 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). We'll clean up CONFIG_MIGRATION next. Link: https://lkml.kernel.org/r/20260319-config_migration-v1-0-42270124966f@kernel.org Link: https://lkml.kernel.org/r/20260319-config_migration-v1-1-42270124966f@kernel.org Signed-off-by: David Hildenbrand (Arm) <david@kernel.org> Acked-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Lorenzo Stoakes (Oracle) <ljs@kernel.org> Reviewed-by: Joshua Hahn <joshua.hahnjy@gmail.com> Reviewed-by: Gregory Price <gourry@gourry.net> Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alistair Popple <apopple@nvidia.com> Cc: "Borislav Petkov (AMD)" <bp@alien8.de> Cc: Byungchul Park <byungchul@sk.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Christian Borntraeger <borntraeger@linux.ibm.com> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: "Huang, Ying" <ying.huang@linux.alibaba.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Matthew Brost <matthew.brost@intel.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Hocko <mhocko@suse.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Rakie Kim <rakie.kim@sk.com> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Sven Schnelle <svens@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: WANG Xuerui <kernel@xen0n.name> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
738de20c4f
commit
078f80f909
|
|
@ -16,7 +16,6 @@ config ARM64
|
||||||
select ARCH_BINFMT_ELF_STATE
|
select ARCH_BINFMT_ELF_STATE
|
||||||
select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
|
select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
|
||||||
select ARCH_ENABLE_MEMORY_HOTPLUG
|
select ARCH_ENABLE_MEMORY_HOTPLUG
|
||||||
select ARCH_ENABLE_MEMORY_HOTREMOVE
|
|
||||||
select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
|
select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
|
||||||
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
||||||
select ARCH_HAS_CACHE_LINE_SIZE
|
select ARCH_HAS_CACHE_LINE_SIZE
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ config LOONGARCH
|
||||||
select ARCH_NEEDS_DEFER_KASAN
|
select ARCH_NEEDS_DEFER_KASAN
|
||||||
select ARCH_DISABLE_KASAN_INLINE
|
select ARCH_DISABLE_KASAN_INLINE
|
||||||
select ARCH_ENABLE_MEMORY_HOTPLUG
|
select ARCH_ENABLE_MEMORY_HOTPLUG
|
||||||
select ARCH_ENABLE_MEMORY_HOTREMOVE
|
|
||||||
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
||||||
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
|
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
|
||||||
select ARCH_HAS_CPU_FINALIZE_INIT
|
select ARCH_HAS_CPU_FINALIZE_INIT
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,6 @@ config PPC
|
||||||
select ARCH_DISABLE_KASAN_INLINE if PPC_RADIX_MMU
|
select ARCH_DISABLE_KASAN_INLINE if PPC_RADIX_MMU
|
||||||
select ARCH_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE
|
select ARCH_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE
|
||||||
select ARCH_ENABLE_MEMORY_HOTPLUG
|
select ARCH_ENABLE_MEMORY_HOTPLUG
|
||||||
select ARCH_ENABLE_MEMORY_HOTREMOVE
|
|
||||||
select ARCH_HAS_COPY_MC if PPC64
|
select ARCH_HAS_COPY_MC if PPC64
|
||||||
select ARCH_HAS_CURRENT_STACK_POINTER
|
select ARCH_HAS_CURRENT_STACK_POINTER
|
||||||
select ARCH_HAS_DEBUG_VIRTUAL
|
select ARCH_HAS_DEBUG_VIRTUAL
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ config RISCV
|
||||||
select ARCH_DMA_DEFAULT_COHERENT
|
select ARCH_DMA_DEFAULT_COHERENT
|
||||||
select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
|
select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
|
||||||
select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM_VMEMMAP
|
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_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
|
||||||
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
||||||
select ARCH_HAS_BINFMT_FLAT
|
select ARCH_HAS_BINFMT_FLAT
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,6 @@ config S390
|
||||||
select ARCH_32BIT_USTAT_F_TINODE
|
select ARCH_32BIT_USTAT_F_TINODE
|
||||||
select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
|
select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
|
||||||
select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM
|
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_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
|
||||||
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
|
||||||
select ARCH_HAS_CC_CAN_LINK
|
select ARCH_HAS_CC_CAN_LINK
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,6 @@ config X86
|
||||||
select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
|
select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
|
||||||
select ARCH_ENABLE_HUGEPAGE_MIGRATION if X86_64 && HUGETLB_PAGE && MIGRATION
|
select ARCH_ENABLE_HUGEPAGE_MIGRATION if X86_64 && HUGETLB_PAGE && MIGRATION
|
||||||
select ARCH_ENABLE_MEMORY_HOTPLUG if X86_64
|
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_SPLIT_PMD_PTLOCK if (PGTABLE_LEVELS > 2) && (X86_64 || X86_PAE)
|
||||||
select ARCH_ENABLE_THP_MIGRATION if X86_64 && TRANSPARENT_HUGEPAGE
|
select ARCH_ENABLE_THP_MIGRATION if X86_64 && TRANSPARENT_HUGEPAGE
|
||||||
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
|
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
|
||||||
|
|
|
||||||
|
|
@ -465,9 +465,6 @@ config HAVE_BOOTMEM_INFO_NODE
|
||||||
config ARCH_ENABLE_MEMORY_HOTPLUG
|
config ARCH_ENABLE_MEMORY_HOTPLUG
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config ARCH_ENABLE_MEMORY_HOTREMOVE
|
|
||||||
bool
|
|
||||||
|
|
||||||
# eventually, we can have this option just 'select SPARSEMEM'
|
# eventually, we can have this option just 'select SPARSEMEM'
|
||||||
menuconfig MEMORY_HOTPLUG
|
menuconfig MEMORY_HOTPLUG
|
||||||
bool "Memory hotplug"
|
bool "Memory hotplug"
|
||||||
|
|
@ -540,8 +537,8 @@ endchoice
|
||||||
config MEMORY_HOTREMOVE
|
config MEMORY_HOTREMOVE
|
||||||
bool "Allow for memory hot remove"
|
bool "Allow for memory hot remove"
|
||||||
select HAVE_BOOTMEM_INFO_NODE if (X86_64 || PPC64)
|
select HAVE_BOOTMEM_INFO_NODE if (X86_64 || PPC64)
|
||||||
depends on MEMORY_HOTPLUG && ARCH_ENABLE_MEMORY_HOTREMOVE
|
depends on MEMORY_HOTPLUG
|
||||||
depends on MIGRATION
|
select MIGRATION
|
||||||
|
|
||||||
config MHP_MEMMAP_ON_MEMORY
|
config MHP_MEMMAP_ON_MEMORY
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
@ -636,7 +633,7 @@ config PAGE_REPORTING
|
||||||
config MIGRATION
|
config MIGRATION
|
||||||
bool "Page migration"
|
bool "Page migration"
|
||||||
default y
|
default y
|
||||||
depends on (NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION || CMA) && MMU
|
depends on (NUMA || MEMORY_HOTREMOVE || COMPACTION || CMA) && MMU
|
||||||
help
|
help
|
||||||
Allows the migration of the physical location of pages of processes
|
Allows the migration of the physical location of pages of processes
|
||||||
while the virtual addresses are not changed. This is useful in
|
while the virtual addresses are not changed. This is useful in
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user