Subject: Re: [RFC mm v5 2/2] mm: introduce a new page type for page pool in page type

From: Byungchul Park <[email-masked]>
Date: Mon, 3 Nov 2025 21:39:42 +0900

On Mon, Nov 03, 2025 at 01:26:01PM +0100, Toke Høiland-Jørgensen wrote:
> Byungchul Park <[email-masked]> writes:
> 
> > Currently, the condition 'page->pp_magic == PP_SIGNATURE' is used to
> > determine if a page belongs to a page pool.  However, with the planned
> > removal of ->pp_magic, we should instead leverage the page_type in
> > struct page, such as PGTY_netpp, for this purpose.
> >
> > Introduce and use the page type APIs e.g. PageNetpp(), __SetPageNetpp(),
> > and __ClearPageNetpp() instead, and remove the existing APIs accessing
> > ->pp_magic e.g. page_pool_page_is_pp(), netmem_or_pp_magic(), and
> > netmem_clear_pp_magic().
> >
> > This work was inspired by the following link:
> >
> > [1] https://lore.kernel.org/all/[email-masked]/
> >
> > While at it, move the sanity check for page pool to on free.
> >
> > Suggested-by: David Hildenbrand <[email-masked]>
> > Co-developed-by: Pavel Begunkov <[email-masked]>
> > Signed-off-by: Pavel Begunkov <[email-masked]>
> > Signed-off-by: Byungchul Park <[email-masked]>
> > Acked-by: David Hildenbrand <[email-masked]>
> > Acked-by: Zi Yan <[email-masked]>
> > Acked-by: Mina Almasry <[email-masked]>
> 
> Acked-by: Toke Høiland-Jørgensen <[email-masked]>
> 
> IIUC, this will allow us to move the PP-specific fields out of struct
> page entirely at some point, right? What are the steps needed to get to
> that point after this?

Yes, it'd be almost done once this set gets merged :-)

Will check if I can safely remove pp fields from struct page, and do it!

	Byungchul
> -Toke