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.