Re: [PATCH v2 02/23] vmw_balloon: remove vmballoon_compaction_init()

Lorenzo Stoakes
2026-01-15T11:21:15Z

On Thu, Jan 15, 2026 at 10:19:52AM +0100, David Hildenbrand (Red Hat) wrote:
> Now that there is not a lot of logic left, let's just inline setting up
> the migration function and drop all these excessive comments that are
> not really required (or true) anymore.
>
> To avoid #ifdef in the caller we can instead use IS_ENABLED() and make
> the compiler happy by only providing the function declaration.
>
> Signed-off-by: David Hildenbrand (Red Hat) <david@kernel.org>

Seems reasonable to me, so:

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

> ---
> drivers/misc/vmw_balloon.c | 30 +++++-------------------------
> 1 file changed, 5 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
> index 2cc34c4968fac..07e60a4b846aa 100644
> --- a/drivers/misc/vmw_balloon.c
> +++ b/drivers/misc/vmw_balloon.c
> @@ -1833,27 +1833,10 @@ static int vmballoon_migratepage(struct balloon_dev_info *b_dev_info,
> up_read(&b->conf_sem);
> return ret;
> }
> -
> -/**
> - * vmballoon_compaction_init() - initialized compaction for the balloon.
> - *
> - * @b: pointer to the balloon.
> - *
> - * If during the initialization a failure occurred, this function does not
> - * perform cleanup. The caller must call vmballoon_compaction_deinit() in this
> - * case.
> - *
> - * Return: zero on success or error code on failure.
> - */
> -static __init void vmballoon_compaction_init(struct vmballoon *b)
> -{
> - b->b_dev_info.migratepage = vmballoon_migratepage;
> -}
> -
> #else /* CONFIG_BALLOON_COMPACTION */
> -static inline void vmballoon_compaction_init(struct vmballoon *b)
> -{
> -}
> +int vmballoon_migratepage(struct balloon_dev_info *b_dev_info,
> + struct page *newpage, struct page *page,
> + enum migrate_mode mode);
> #endif /* CONFIG_BALLOON_COMPACTION */
>
> static int __init vmballoon_init(void)
> @@ -1873,12 +1856,9 @@ static int __init vmballoon_init(void)
> if (error)
> return error;
>
> - /*
> - * Initialization of compaction must be done after the call to
> - * balloon_devinfo_init() .
> - */
> balloon_devinfo_init(&balloon.b_dev_info);
> - vmballoon_compaction_init(&balloon);
> + if (IS_ENABLED(CONFIG_BALLOON_COMPACTION))
> + balloon.b_dev_info.migratepage = vmballoon_migratepage;
>
> INIT_LIST_HEAD(&balloon.huge_pages);
> spin_lock_init(&balloon.comm_lock);
> --
> 2.52.0
>