Re: [PATCH v1 05/29] mm/balloon_compaction: make PageOffline sticky until the page is freed

Lorenzo Stoakes
2025-06-30T16:05:03Z

On Mon, Jun 30, 2025 at 02:59:46PM +0200, David Hildenbrand wrote:
> Let the page freeing code handle clearing the page type.

Why is this advantageous? We want to keep the page marked offline for longer?

>
> Acked-by: Zi Yan <ziy@nvidia.com>
> Acked-by: Harry Yoo <harry.yoo@oracle.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>

On assumption this UINT_MAX stuff is sane :)) I mean this is straightforward I
guess:

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

> ---
> include/linux/balloon_compaction.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/balloon_compaction.h b/include/linux/balloon_compaction.h
> index b9f19da37b089..bfc6e50bd004b 100644
> --- a/include/linux/balloon_compaction.h
> +++ b/include/linux/balloon_compaction.h
> @@ -140,7 +140,7 @@ static inline void balloon_page_finalize(struct page *page)
> __ClearPageMovable(page);
> set_page_private(page, 0);
> }
> - __ClearPageOffline(page);
> + /* PageOffline is sticky until the page is freed to the buddy. */

OK so we are relying on this UINT_MAX thing in free_pages_prepare() to handle this.

> }
>
> /*
> --
> 2.49.0
>