Re: [PATCH v2] mm, page_pool: introduce a new page type for page pool in page type

From: David Hildenbrand
Date: Mon Jul 28 2025 - 04:45:49 EST


On 28.07.25 07:27, Byungchul Park wrote:
Changes from v1:
1. Rebase on linux-next.
2. Initialize net_iov->pp = NULL when allocating net_iov in
net_devmem_bind_dmabuf() and io_zcrx_create_area().
3. Use ->pp for net_iov to identify if it's pp rather than
always consider net_iov as pp.
4. Add Suggested-by: David Hildenbrand <david@xxxxxxxxxx>.

---8<---
From 08b65324282bbe683a2479faef8eb24df249fd18 Mon Sep 17 00:00:00 2001
From: Byungchul Park <byungchul@xxxxxx>
Date: Mon, 28 Jul 2025 14:07:17 +0900
Subject: [PATCH v2] mm, page_pool: introduce a new page type for page pool in page type

->pp_magic field in struct page is current used to identify if a page
belongs to a page pool. However, ->pp_magic will be removed and page
type bit in struct page e.i. PGTY_netpp can be used for that 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().

For net_iov, use ->pp to identify if it's pp, with making sure that ->pp
is NULL for non-pp net_iov.

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>
Signed-off-by: Byungchul Park <byungchul@xxxxxx>
---

Nothing jumped at me, so

Acked-by: David Hildenbrand <david@xxxxxxxxxx>

for the MM bits.

--
Cheers,

David / dhildenb