[PATCH RFC 04/29] mm/page_alloc: allow for making page types sticky until freed
Zi Yan
ziy at nvidia.com
Thu Jun 19 04:09:08 AEST 2025
On 18 Jun 2025, at 14:06, Matthew Wilcox wrote:
> On Wed, Jun 18, 2025 at 02:04:18PM -0400, Zi Yan wrote:
>>> Let's allow for not clearing a page type before freeing a page to the
>>> buddy.
>>>
>>> We'll focus on having a type set on the first page of a larger
>>> allocation only.
>>>
>>> With this change, we can reliably identify typed folios even though
>>> they might be in the process of getting freed, which will come in handy
>>> in migration code (at least in the transition phase).
>
>>> + if (unlikely(page_has_type(page)))
>>> + page->page_type = UINT_MAX;
>>> +
>>> if (is_check_pages_enabled()) {
>>> if (free_page_is_bad(page))
>>> bad++;
>>> --
>>> 2.49.0
>>
>> How does this preserve page type? Isn’t page->page_type = UINT_MAX clearing
>> page_type?
>
> The point is that the _caller_ used to have to clear the page type.
> This patch allows the caller to free the page without clearing
> the page type first.
Yep, find that out when I read the next patch.
I think the change is fine, but the commit message is unclear.
Best Regards,
Yan, Zi
More information about the Linuxppc-dev
mailing list