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

From: Toke Høiland-Jørgensen

Date: Mon Nov 03 2025 - 09:59:28 EST


Byungchul Park <byungchul@xxxxxx> writes:

> On Mon, Nov 03, 2025 at 01:26:01PM +0100, Toke Høiland-Jørgensen wrote:
>> Byungchul Park <byungchul@xxxxxx> 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/582f41c0-2742-4400-9c81-0d46bf4e8314@xxxxxxxxx/
>> >
>> > While at it, move the sanity check for page pool to on free.
>> >
>> > Suggested-by: David Hildenbrand <david@xxxxxxxxxx>
>> > Co-developed-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
>> > Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
>> > Signed-off-by: Byungchul Park <byungchul@xxxxxx>
>> > Acked-by: David Hildenbrand <david@xxxxxxxxxx>
>> > Acked-by: Zi Yan <ziy@xxxxxxxxxx>
>> > Acked-by: Mina Almasry <almasrymina@xxxxxxxxxx>
>>
>> Acked-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx>
>>
>> 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!

Sounds good, thanks!

-Toke