Skip to content

[PW_SID:1069108] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE and cleanup CONFIG_MIGRATION#1644

Open
linux-riscv-bot wants to merge 2 commits intoworkflowfrom
pw1069108
Open

[PW_SID:1069108] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE and cleanup CONFIG_MIGRATION#1644
linux-riscv-bot wants to merge 2 commits intoworkflowfrom
pw1069108

Conversation

@linux-riscv-bot
Copy link

PR for series 1069108 applied to workflow

Name: mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE and cleanup CONFIG_MIGRATION
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1069108
Version: 1

David Hildenbrand (Arm) added 2 commits March 19, 2026 08:41
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.

Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
CONFIG_MEMORY_HOTREMOVE, CONFIG_COMPACTION and CONFIG_CMA all select
CONFIG_MIGRATION, because they require it to work (users).

Only CONFIG_NUMA_BALANCING and CONFIG_BALLOON_MIGRATION depend on
CONFIG_MIGRATION. CONFIG_BALLOON_MIGRATION is not an actual user, but
an implementation of migration support, so the dependency is correct
(CONFIG_BALLOON_MIGRATION does not make any sense without
CONFIG_MIGRATION).

However, kconfig-language.rst  clearly states "In general use select only
for non-visible symbols". So far CONFIG_MIGRATION is user-visible ...
and the dependencies rather confusing.

The whole reason why CONFIG_MIGRATION is user-visible is because of
CONFIG_NUMA: some users might want CONFIG_NUMA but not page migration
support.

Let's clean all that up by introducing a dedicated CONFIG_NUMA_MIGRATION
config option for that purpose only. Make CONFIG_NUMA_BALANCING that so
far depended on CONFIG_NUMA && CONFIG_MIGRATION to depend on
CONFIG_MIGRATION instead. CONFIG_NUMA_MIGRATION will depend on
CONFIG_NUMA && CONFIG_MMU.

CONFIG_NUMA_MIGRATION is user-visible and will default to "y". We
use that default so new configs will automatically enable it, just
like it was the case with CONFIG_MIGRATION. The downside is that
some configs that used to have CONFIG_MIGRATION=n might get it
re-enabled by CONFIG_NUMA_MIGRATION=y, which shouldn't be a problem.

CONFIG_MIGRATION is now a non-visible config option. Any code that
select CONFIG_MIGRATION (as before) must depend directly or indirectly
on CONFIG_MMU.

CONFIG_NUMA_MIGRATION is responsible for any NUMA migration code, which is
mempolicy migration code, memory-tiering code, and move_pages() code in
migrate.c. CONFIG_NUMA_BALANCING uses its functionality.

Note that this implies that with CONFIG_NUMA_MIGRATION=n, move_pages() will
not be available even though CONFIG_MIGRATION=y, which is an expected
change.

In migrate.c, we can remove the CONFIG_NUMA check as both
CONFIG_NUMA_MIGRATION and CONFIG_NUMA_BALANCING depend on it.

With this change, CONFIG_MIGRATION is an internal config, all users of
migration selects CONFIG_MIGRATION, and only CONFIG_BALLOON_MIGRATION
depends on it.

Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 135.90 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1029.34 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1386.97 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.82 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.66 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 2.11 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 83.73 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
kdoc
Desc: Detects for kdoc errors
Duration: 0.88 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
module-param
Desc: Detect module_param changes
Duration: 0.30 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "[1/2] mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 135.18 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1139.37 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1648.62 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.17 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.78 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.81 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 84.60 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
kdoc
Desc: Detects for kdoc errors
Duration: 0.94 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
module-param
Desc: Detect module_param changes
Duration: 0.30 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 2: "[2/2] mm: introduce CONFIG_NUMA_MIGRATION and simplify CONFIG_MIGRATION"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.32 seconds
Result: PASS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant