Re: [PATCH net-next v3 0/6] net: unify symmetric netmem and page_pool refcounting
From: Mina Almasry
Date: Tue Oct 20 2026 - 12:23:46 EST
On Tue, Oct 20, 2026 at 3:10 AM <patchwork-bot+netdevbpf@xxxxxxxxxx> wrote:
>
> Hello:
>
> This series was applied to netdev/net-next.git (main)
> by Paolo Abeni <pabeni@xxxxxxxxxx>:
>
> On Wed, 14 Oct 2026 17:37:14 +0000 you wrote:
> > netmems (pages and net_iovs) have two independent refcounts: a non-pp
> > refcount (page._refcount or binding->ref) governing backing memory
> > lifetime, and pp_ref_count governing recycling within a page_pool while
> > page_pool holds a single backing non-pp reference. SKBs with
> > pp_recycle=1 own pp_ref_count references on page_pool fragments; SKBs
> > with pp_recycle=0 own non-pp references.
> >
> > [...]
>
> Here is the summary with links:
> - [net-next,v3,1/6] netmem: rename __get/__put_netmem() to get/put_net_iov()
> https://git.kernel.org/netdev/net-next/c/a868720467d9
> - [net-next,v3,2/6] net: skbuff: add napi_pp_get_page() and use it in tcp_recvmsg_dmabuf()
> https://git.kernel.org/netdev/net-next/c/729a47b803b5
> - [net-next,v3,3/6] net: skbuff: replace skb_page_unref() and __skb_frag_unref() with skb_netmem_unref()
> https://git.kernel.org/netdev/net-next/c/4d688084070e
> - [net-next,v3,4/6] net: skbuff: replace __skb_frag_ref() with symmetric skb_netmem_ref()
> https://git.kernel.org/netdev/net-next/c/1f6f88105e1d
> - [net-next,v3,5/6] net: skbuff: use skb_frag_ref() in skb_try_coalesce()
> https://git.kernel.org/netdev/net-next/c/447f58db3505
> - [net-next,v3,6/6] net: kunit: test netmem, page_pool, and skb frag refcounting
> https://git.kernel.org/netdev/net-next/c/2285346afc99
>
> You are awesome, thank you!
> --
> Deet-doot-dot, I am a bot.
> https://korg.docs.kernel.org/patchwork/pwbot.html
>
This is awesome. For years the skb refcounting annoyed the hell out of
me. I couldn't fix it on my own; there were too many edge cases I
didn't thoroughly understand and could break. LLMs made this possible.
Thanks!
--
Thanks,
Mina