Re: [PATCH v2 20/23] mm/kconfig: make BALLOON_COMPACTION depend on MIGRATION

Lorenzo Stoakes
2026-01-15T13:47:40Z

On Thu, Jan 15, 2026 at 10:20:10AM +0100, David Hildenbrand (Red Hat) wrote:
> 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 (Red Hat) <david@kernel.org>

Far pithier also. LGTM so:

Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>

> ---
> mm/Kconfig | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 24a3ff149a1b0..0d13c1b36e1c1 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 be
> + migrated for memory defragmentation purposes by memory compaction.
>
> #
> # support for memory compaction
> --
> 2.52.0
>