Re: [PATCH v1 02/29] mm/balloon_compaction: convert balloon_page_delete() to balloon_page_finalize()

From: David Hildenbrand
Date: Tue Jul 01 2025 - 06:02:41 EST


[...]

-{
- __ClearPageOffline(page);
- __ClearPageMovable(page);
- set_page_private(page, 0);
- /*
- * No touch page.lru field once @page has been isolated
- * because VM is using the field.
- */
- if (!PageIsolated(page))
- list_del(&page->lru);

I don't see this check elsewhere, is it because, as per the 1/xx of this series,
because by the time we do the finalize

balloon_page_delete() was used on two paths

1) Removing a page from the balloon for deflation through
balloon_page_list_dequeue()

2) Removing an isolated page from the balloon for migration in the
per-driver migration handlers. Isolated pages were already removed from the
balloon list during ... isolation.

With this change, 1) does the list_del(&page->lru) manually and 2) only
calls balloon_page_finalize().

During 1) the same reasoning as in 1/xx applies: isolated pages cannot be in
the balloon list.

Right yeah this is what I thought, thanks!

I'll add some of that to the patch description!

--
Cheers,

David / dhildenb