Re: [PATCH v2 12/23] mm/balloon_compaction: remove balloon_page_push/pop()

Lorenzo Stoakes
2026-01-15T12:30:32Z

On Thu, Jan 15, 2026 at 10:20:02AM +0100, David Hildenbrand (Red Hat) wrote:
> Let's remove these helpers as they are unused now.
>
> Signed-off-by: David Hildenbrand (Red Hat) <david@kernel.org>

OK exactly as asked in the last patch you do deliver :))

So good riddance to this and:

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

> ---
> include/linux/balloon_compaction.h | 30 ------------------------------
> mm/balloon_compaction.c | 5 ++---
> 2 files changed, 2 insertions(+), 33 deletions(-)
>
> diff --git a/include/linux/balloon_compaction.h b/include/linux/balloon_compaction.h
> index 1452ea0635245..e5451cf1f6589 100644
> --- a/include/linux/balloon_compaction.h
> +++ b/include/linux/balloon_compaction.h
> @@ -126,34 +126,4 @@ static inline void balloon_page_finalize(struct page *page)
> set_page_private(page, 0);
> /* PageOffline is sticky until the page is freed to the buddy. */
> }
> -
> -/*
> - * balloon_page_push - insert a page into a page list.
> - * @head : pointer to list
> - * @page : page to be added
> - *
> - * Caller must ensure the page is private and protect the list.
> - */
> -static inline void balloon_page_push(struct list_head *pages, struct page *page)
> -{
> - list_add(&page->lru, pages);
> -}
> -
> -/*
> - * balloon_page_pop - remove a page from a page list.
> - * @head : pointer to list
> - * @page : page to be added
> - *
> - * Caller must ensure the page is private and protect the list.
> - */
> -static inline struct page *balloon_page_pop(struct list_head *pages)
> -{
> - struct page *page = list_first_entry_or_null(pages, struct page, lru);
> -
> - if (!page)
> - return NULL;
> -
> - list_del(&page->lru);
> - return page;
> -}
> #endif /* _LINUX_BALLOON_COMPACTION_H */
> diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c
> index c44e0b62203cc..90b2d61a593b7 100644
> --- a/mm/balloon_compaction.c
> +++ b/mm/balloon_compaction.c
> @@ -128,9 +128,8 @@ EXPORT_SYMBOL_GPL(balloon_page_alloc);
> * Drivers must call this function to properly enqueue a new allocated balloon
> * page before definitively removing the page from the guest system.
> *
> - * Drivers must not call balloon_page_enqueue on pages that have been pushed to
> - * a list with balloon_page_push before removing them with balloon_page_pop. To
> - * enqueue a list of pages, use balloon_page_list_enqueue instead.
> + * Drivers must not enqueue pages while page->lru is still in
> + * use, and must not use page->lru until a page was unqueued again.
> */
> void balloon_page_enqueue(struct balloon_dev_info *b_dev_info,
> struct page *page)
> --
> 2.52.0
>