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


Reply via email to