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