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