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

David Hildenbrand
2025-07-01T09:59:26Z

[...]

>>>> -{
>>>> - __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