Migration support for balloon memory depends on MIGRATION not
COMPACTION. Compaction is simply another user of page migration.
The last dependency on compaction.c was effectively removed with
commit 3d388584d599 ("mm: convert "movable" flag in page->mapping to a
page flag"). Ever since, everything for handling movable_ops page
migration resides in core migration code.
So let's change the dependency and adjust the description +
help text.
We'll rename BALLOON_COMPACTION separately next.
Signed-off-by: David Hildenbrand <[email protected]>
---
mm/Kconfig | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/mm/Kconfig b/mm/Kconfig
index e47321051d765..3aff4d05a2d8c 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -599,17 +599,14 @@ config MEMORY_BALLOON
#
# support for memory balloon compaction
config BALLOON_COMPACTION
- bool "Allow for balloon memory compaction/migration"
+ bool "Allow for balloon memory migration"
default y
- depends on COMPACTION && MEMORY_BALLOON
- help
- Memory fragmentation introduced by ballooning might reduce
- significantly the number of 2MB contiguous memory blocks that can be
- used within a guest, thus imposing performance penalties associated
- with the reduced number of transparent huge pages that could be used
- by the guest workload. Allowing the compaction & migration for memory
- pages enlisted as being part of memory balloon devices avoids the
- scenario aforementioned and helps improving memory defragmentation.
+ depends on MIGRATION && MEMORY_BALLOON
+ help
+ Allow for migration of pages inflated in a memory balloon such that
+ they can be allocated from memory areas only available for movable
+ allocations (e.g., ZONE_MOVABLE, CMA) and such that they can get
+ migrated for memory defragmentation purposes by memory compaction.
#
# support for memory compaction
--
2.51.0