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

From: Pavel Begunkov
Date: Mon Jul 21 2025 - 07:11:57 EST


On 7/21/25 06:49, Byungchul Park wrote:
Hi,

I focused on converting the existing APIs accessing ->pp_magic field to
page type APIs. However, yes. Additional works would better be
considered on top like:

1. Adjust how to store and retrieve dma index. Maybe network guys
can work better on top.

2. Move the sanity check for page pool in mm/page_alloc.c to on free.

Don't be in a hurry, I've got a branch, but as mentioned before,
it'll be for-6.18. And there will also be more time for testing.

This work was inspired by the following link by Pavel:

The idea came from David, let's add

Suggested-by: David Hildenbrand <david@xxxxxxxxxx>

...> -
static inline bool netmem_is_pp(netmem_ref netmem)
{
- return (netmem_get_pp_magic(netmem) & PP_MAGIC_MASK) == PP_SIGNATURE;
+ if (netmem_is_net_iov(netmem))

This needs to return false for tx niovs. Seems like all callers are
gated on ->pp_recycle, so maybe it's fine, but we can at least
check pp. Mina, you've been checking tx doesn't mix with rx, any
opinion on that?

Question to net maintainers, can a ->pp_recycle marked skb contain
not page pool originated pages or a mix?

--
Pavel Begunkov