From: Jesper Dangaard Brouer <hawk@kernel.org>
To: Mina Almasry <almasrymina@google.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
virtualization@lists.linux.dev, linux-mm@kvack.org,
bpf@vger.kernel.org, linux-wireless@vger.kernel.org,
linux-doc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
imx@lists.linux.dev, linux-rdma@vger.kernel.org,
linux-hyperv@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-omap@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@kernel.org>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Simon Horman" <horms@kernel.org>,
"Steffen Klassert" <steffen.klassert@secunet.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Willem de Bruijn" <willemb@google.com>,
"Stanislav Fomichev" <sdf@fomichev.me>,
"Pavel Begunkov" <asml.silence@gmail.com>,
"Bobby Eshleman" <bobbyeshleman@meta.com>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Jason Wang" <jasowangio@gmail.com>,
"Eugenio Pérez" <eperezma@redhat.com>,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"David Hildenbrand" <david@kernel.org>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Liam R. Howlett" <liam@infradead.org>,
"Vlastimil Babka" <vbabka@kernel.org>,
"Mike Rapoport" <rppt@kernel.org>,
"Suren Baghdasaryan" <surenb@google.com>,
"Michal Hocko" <mhocko@suse.com>,
"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"John Fastabend" <john.fastabend@gmail.com>,
"Sabrina Dubroca" <sd@queasysnail.net>,
"Johannes Berg" <johannes@sipsolutions.net>,
"Byungchul Park" <byungchul@sk.com>,
"Jonathan Corbet" <corbet@lwn.net>,
"Shuah Khan" <skhan@linuxfoundation.org>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Lorenzo Bianconi" <lorenzo@kernel.org>,
"Wen Gu" <guwen@linux.alibaba.com>,
"Philo Lu" <lulie@linux.alibaba.com>,
"Justin Chen" <justin.chen@broadcom.com>,
"Florian Fainelli" <florian.fainelli@broadcom.com>,
"Vikas Gupta" <vikas.gupta@broadcom.com>,
"Michael Chan" <michael.chan@broadcom.com>,
"Pavan Chebbi" <pavan.chebbi@broadcom.com>,
"Doug Berger" <opendmb@gmail.com>,
"Nicolai Buchwitz" <nb@tipi-net.de>,
"Satish Kharat" <satishkh@cisco.com>,
"Wei Fang" <wei.fang@nxp.com>, "Frank Li" <frank.li@nxp.com>,
"Shenwei Wang" <shenwei.wang@nxp.com>,
"Joshua Washington" <joshwash@google.com>,
"Harshitha Ramamurthy" <hramamurthy@google.com>,
"Jijie Shao" <shaojijie@huawei.com>,
"Jian Shen" <shenjian15@huawei.com>,
"Fan Gong" <gongfan1@huawei.com>,
"Tony Nguyen" <anthony.l.nguyen@intel.com>,
"Przemek Kitszel" <przemyslaw.kitszel@intel.com>,
"Marcin Wojtas" <marcin.s.wojtas@gmail.com>,
"Russell King" <linux@armlinux.org.uk>,
"Sunil Goutham" <sgoutham@marvell.com>,
"Geetha sowjanya" <gakula@marvell.com>,
"Ratheesh Kannoth" <rkannoth@marvell.com>,
"Subbaraya Sundeep" <sbhatta@marvell.com>,
"Bharat Bhushan" <bbhushan2@marvell.com>,
"Felix Fietkau" <nbd@nbd.name>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Tariq Toukan" <tariqt@nvidia.com>,
"Saeed Mahameed" <saeedm@nvidia.com>,
"Mark Bloch" <mbloch@nvidia.com>,
"Leon Romanovsky" <leon@kernel.org>,
"Ido Schimmel" <idosch@nvidia.com>,
"Petr Machata" <petrm@nvidia.com>,
"Horatiu Vultur" <horatiu.vultur@microchip.com>,
UNGLinuxDriver@microchip.com,
"Daniel Machon" <daniel.machon@microchip.com>,
"Steen Hegelund" <Steen.Hegelund@microchip.com>,
"Haiyang Zhang" <haiyangz@microsoft.com>,
"Wei Liu" <wei.liu@kernel.org>,
"Dexuan Cui" <decui@microsoft.com>,
"Yibo Dong" <dong100@mucse.com>,
"Brett Creeley" <brett.creeley@amd.com>,
"Justin Lai" <justinlai0215@realtek.com>,
"Larry Chiu" <larry.chiu@realtek.com>,
"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
"Paul Barker" <paul@pbarker.dev>,
"Masahisa Kojima" <kojima.masahisa@socionext.com>,
"Maxime Chevallier" <maxime.chevallier@bootlin.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"FUJITA Tomonori" <fujita.tomonori@gmail.com>,
"Siddharth Vadapalli" <s-vadapalli@ti.com>,
"Roger Quadros" <rogerq@kernel.org>,
"MD Danish Anwar" <danishanwar@ti.com>,
"Jiawen Wu" <jiawenwu@trustnetic.com>,
"Mengyuan Lou" <mengyuanlou@net-swift.com>,
"Ronak Doshi" <ronak.doshi@broadcom.com>,
"Ryder Lee" <ryder.lee@mediatek.com>,
"Shayne Chen" <shayne.chen@mediatek.com>,
"Sean Wang" <sean.wang@mediatek.com>,
"Juergen Gross" <jgross@suse.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Oleksandr Tyshchenko" <oleksandr_tyshchenko@epam.com>,
"Jordan Rhee" <jordanrhee@google.com>,
"Ankit Garg" <nktgrg@google.com>,
"Tim Hostetler" <thostet@google.com>,
"Erni Sri Satya Vennela" <ernis@linux.microsoft.com>,
"Eric Joyner" <eric.joyner@amd.com>,
"Mohammad Heib" <mheib@redhat.com>,
"Prabu Thayalan" <prabu.ponrajthayalan@amd.com>,
"Chintan Vankar" <c-vankar@ti.com>,
"Nora Schiffer" <nora.schiffer@ew.tq-group.com>,
"Alexander Sverdlin" <alex@sverdlin.org>,
"Kevin Hao" <haokexin@gmail.com>,
"Karl Mehltretter" <kmehltretter@gmail.com>,
"Aleksandr Loktionov" <aleksandr.loktionov@intel.com>,
"Meghana Malladi" <m-malladi@ti.com>,
"Jacob Keller" <jacob.e.keller@intel.com>,
"StanleyYP Wang" <StanleyYP.Wang@mediatek.com>
Subject: Re: [PATCH net-next v1 0/5] net: deprecate skb->pp_recycle and skb_mark_for_recycle()
Date: Thu, 5 Nov 2026 17:35:34 +0100 [thread overview]
Message-ID: <cf2e3292-d591-42a4-bf6e-76f4567604c6@kernel.org> (raw)
In-Reply-To: <20261103211424.127627-1-almasrymina@google.com>
On 11/3/26 22:14, Mina Almasry wrote:
> Remove the per-SKB skb->pp_recycle bitfield and skb_mark_for_recycle()
> helper, and reference-count netmems directly by their underlying type
> via netmem_is_pp() inside netmem_inc_ref() and netmem_dec_ref().
>
> This series simplifies SKB and netmem reference counting:
> - Reclaims 1 bit from struct sk_buff (skb->pp_recycle).
> - Unifies reference counting of SKB fragment netmems and regular netmems
> under netmem_inc_ref() and netmem_dec_ref(), eliminating the separate
> skb_netmem_ref(), skb_netmem_unref(), and skb_mark_for_recycle() APIs.
Part of the performance gain from page_pool was to completely avoid the
atomic refcnt operation, when we can see that page refcnt==1.
Are you removing this?
> - Removes 110 net lines of non-test/doc code across 63 files (196
> insertions, 306 deletions).
>
> 1/5: net: skbuff: skip managed zerocopy frags in skb_frag_ref()
> 2/5: net: skbuff: refcount spliced page_pool frags via skb_pipe_buf_ops
> 3/5: net: datagram: refcount page_pool frags in zerocopy_fill_skb_from_iter()
> 4/5: net: remove skb->pp_recycle and consolidate netmem refcounting
> 5/5: net: remove skb_mark_for_recycle()
>
> Mina Almasry (5):
> net: skbuff: skip managed zerocopy frags in skb_frag_ref()
> net: skbuff: refcount spliced page_pool frags via skb_pipe_buf_ops
> net: datagram: refcount page_pool frags in
> zerocopy_fill_skb_from_iter()
> net: remove skb->pp_recycle and consolidate netmem refcounting
> net: remove skb_mark_for_recycle()
>
> Documentation/networking/page_pool.rst | 1 -
> drivers/net/ethernet/airoha/airoha_eth.c | 1 -
> drivers/net/ethernet/alibaba/eea/eea_rx.c | 3 -
> .../net/ethernet/broadcom/asp2/bcmasp_intf.c | 1 -
> .../net/ethernet/broadcom/bnge/bnge_txrx.c | 5 -
> drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 -
> .../net/ethernet/broadcom/genet/bcmgenet.c | 2 -
> drivers/net/ethernet/cisco/enic/enic_rq.c | 1 -
> drivers/net/ethernet/engleder/tsnep_main.c | 2 -
> drivers/net/ethernet/freescale/fec_main.c | 1 -
> drivers/net/ethernet/google/gve/gve_rx_dqo.c | 9 -
> .../net/ethernet/hisilicon/hibmcge/hbg_txrx.c | 1 -
> .../net/ethernet/hisilicon/hns3/hns3_enet.c | 6 -
> .../net/ethernet/huawei/hinic3/hinic3_rx.c | 1 -
> drivers/net/ethernet/intel/iavf/iavf_txrx.c | 2 -
> drivers/net/ethernet/marvell/mvneta.c | 2 -
> .../net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 -
> .../marvell/octeontx2/nic/otx2_txrx.c | 1 -
> drivers/net/ethernet/mediatek/mtk_eth_soc.c | 1 -
> drivers/net/ethernet/mellanox/mlx4/en_rx.c | 1 -
> .../net/ethernet/mellanox/mlx5/core/en_rx.c | 8 -
> drivers/net/ethernet/mellanox/mlxsw/pci.c | 2 -
> .../ethernet/microchip/lan966x/lan966x_fdma.c | 2 -
> .../microchip/sparx5/lan969x/lan969x_fdma.c | 1 -
> drivers/net/ethernet/microsoft/mana/mana_en.c | 3 -
> .../net/ethernet/mucse/rnpgbe/rnpgbe_lib.c | 1 -
> .../net/ethernet/pensando/ionic/ionic_txrx.c | 2 -
> .../net/ethernet/realtek/rtase/rtase_main.c | 1 -
> drivers/net/ethernet/renesas/ravb_main.c | 2 -
> drivers/net/ethernet/socionext/netsec.c | 1 -
> .../net/ethernet/stmicro/stmmac/stmmac_main.c | 1 -
> drivers/net/ethernet/tehuti/tn40.c | 1 -
> drivers/net/ethernet/ti/am65-cpsw-nuss.c | 1 -
> drivers/net/ethernet/ti/cpsw.c | 2 -
> drivers/net/ethernet/ti/cpsw_new.c | 2 -
> drivers/net/ethernet/ti/icssg/icssg_common.c | 1 -
> drivers/net/ethernet/wangxun/libwx/wx_lib.c | 2 -
> drivers/net/veth.c | 3 +-
> drivers/net/virtio_net.c | 16 +-
> drivers/net/vmxnet3/vmxnet3_xdp.c | 1 -
> drivers/net/wireless/mediatek/mt76/dma.c | 1 -
> .../net/wireless/mediatek/mt76/mt7996/mac.c | 1 -
> drivers/net/wireless/mediatek/mt76/npu.c | 1 -
> drivers/net/wireless/mediatek/mt76/usb.c | 1 -
> drivers/net/xen-netfront.c | 1 -
> include/linux/mm.h | 2 +-
> include/linux/skbuff.h | 12 +-
> include/linux/skbuff_ref.h | 60 +--
> include/net/netmem.h | 39 +-
> include/net/page_pool/helpers.h | 46 ++-
> net/core/datagram.c | 5 +
> net/core/gro.c | 9 -
> net/core/net_test.c | 369 +++++++++++-------
> net/core/netmem_priv.h | 23 +-
> net/core/page_pool.c | 8 +-
> net/core/skbuff.c | 78 ++--
> net/core/xdp.c | 13 +-
> net/ipv4/esp4.c | 11 +-
> net/ipv6/esp6.c | 11 +-
> net/tls/tls_device.c | 14 +-
> net/tls/tls_device_fallback.c | 6 +-
> net/tls/tls_main.c | 4 +-
> net/wireless/util.c | 31 +-
> net/xfrm/trace_iptfs.h | 6 +-
> net/xfrm/xfrm_iptfs.c | 16 +-
> 65 files changed, 418 insertions(+), 454 deletions(-)
>
>
> base-commit: 7b6ab4dbc156e2f96419715130b3d5738a306c93
next prev parent reply other threads:[~2026-11-05 16:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 21:14 [PATCH net-next v1 0/5] net: deprecate skb->pp_recycle and skb_mark_for_recycle() Mina Almasry
2026-11-03 21:14 ` [PATCH net-next v1 1/5] net: skbuff: skip managed zerocopy frags in skb_frag_ref() Mina Almasry
2026-11-04 21:14 ` sashiko-bot
2026-11-03 21:14 ` [PATCH net-next v1 2/5] net: skbuff: refcount spliced page_pool frags via skb_pipe_buf_ops Mina Almasry
2026-11-04 21:14 ` sashiko-bot
2026-11-03 21:14 ` [PATCH net-next v1 3/5] net: datagram: refcount page_pool frags in zerocopy_fill_skb_from_iter() Mina Almasry
2026-11-04 21:14 ` sashiko-bot
2026-11-05 12:45 ` Loktionov, Aleksandr
2026-11-03 21:14 ` [PATCH net-next v1 4/5] net: remove skb->pp_recycle and consolidate netmem refcounting Mina Almasry
2026-11-04 21:14 ` sashiko-bot
2026-11-06 19:36 ` Mina Almasry
2026-11-03 21:14 ` [PATCH net-next v1 5/5] net: remove skb_mark_for_recycle() Mina Almasry
2026-11-04 21:14 ` sashiko-bot
2026-11-05 16:35 ` Jesper Dangaard Brouer [this message]
2026-11-06 17:53 ` [PATCH net-next v1 0/5] net: deprecate skb->pp_recycle and skb_mark_for_recycle() Mina Almasry
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cf2e3292-d591-42a4-bf6e-76f4567604c6@kernel.org \
--to=hawk@kernel.org \
--cc=StanleyYP.Wang@mediatek.com \
--cc=Steen.Hegelund@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=akpm@linux-foundation.org \
--cc=aleksandr.loktionov@intel.com \
--cc=alex@sverdlin.org \
--cc=alexandre.torgue@foss.st.com \
--cc=almasrymina@google.com \
--cc=andrew+netdev@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=anthony.l.nguyen@intel.com \
--cc=asml.silence@gmail.com \
--cc=ast@kernel.org \
--cc=bbhushan2@marvell.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bobbyeshleman@meta.com \
--cc=bpf@vger.kernel.org \
--cc=brett.creeley@amd.com \
--cc=byungchul@sk.com \
--cc=c-vankar@ti.com \
--cc=corbet@lwn.net \
--cc=daniel.machon@microchip.com \
--cc=daniel@iogearbox.net \
--cc=danishanwar@ti.com \
--cc=davem@davemloft.net \
--cc=david@kernel.org \
--cc=decui@microsoft.com \
--cc=dong100@mucse.com \
--cc=edumazet@kernel.org \
--cc=eperezma@redhat.com \
--cc=eric.joyner@amd.com \
--cc=ernis@linux.microsoft.com \
--cc=florian.fainelli@broadcom.com \
--cc=frank.li@nxp.com \
--cc=fujita.tomonori@gmail.com \
--cc=gakula@marvell.com \
--cc=gongfan1@huawei.com \
--cc=guwen@linux.alibaba.com \
--cc=haiyangz@microsoft.com \
--cc=haokexin@gmail.com \
--cc=herbert@gondor.apana.org.au \
--cc=horatiu.vultur@microchip.com \
--cc=horms@kernel.org \
--cc=hramamurthy@google.com \
--cc=idosch@nvidia.com \
--cc=ilias.apalodimas@linaro.org \
--cc=imx@lists.linux.dev \
--cc=jacob.e.keller@intel.com \
--cc=jasowangio@gmail.com \
--cc=jgross@suse.com \
--cc=jiawenwu@trustnetic.com \
--cc=johannes@sipsolutions.net \
--cc=john.fastabend@gmail.com \
--cc=jordanrhee@google.com \
--cc=joshwash@google.com \
--cc=justin.chen@broadcom.com \
--cc=justinlai0215@realtek.com \
--cc=kmehltretter@gmail.com \
--cc=kojima.masahisa@socionext.com \
--cc=kuba@kernel.org \
--cc=larry.chiu@realtek.com \
--cc=leon@kernel.org \
--cc=liam@infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=ljs@kernel.org \
--cc=lorenzo@kernel.org \
--cc=lulie@linux.alibaba.com \
--cc=m-malladi@ti.com \
--cc=marcin.s.wojtas@gmail.com \
--cc=matthias.bgg@gmail.com \
--cc=maxime.chevallier@bootlin.com \
--cc=mbloch@nvidia.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=mengyuanlou@net-swift.com \
--cc=mheib@redhat.com \
--cc=mhocko@suse.com \
--cc=michael.chan@broadcom.com \
--cc=mst@redhat.com \
--cc=nb@tipi-net.de \
--cc=nbd@nbd.name \
--cc=netdev@vger.kernel.org \
--cc=niklas.soderlund@ragnatech.se \
--cc=nktgrg@google.com \
--cc=nora.schiffer@ew.tq-group.com \
--cc=oleksandr_tyshchenko@epam.com \
--cc=opendmb@gmail.com \
--cc=pabeni@redhat.com \
--cc=paul@pbarker.dev \
--cc=pavan.chebbi@broadcom.com \
--cc=petrm@nvidia.com \
--cc=prabu.ponrajthayalan@amd.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=rdunlap@infradead.org \
--cc=rkannoth@marvell.com \
--cc=rogerq@kernel.org \
--cc=ronak.doshi@broadcom.com \
--cc=rppt@kernel.org \
--cc=ryder.lee@mediatek.com \
--cc=s-vadapalli@ti.com \
--cc=saeedm@nvidia.com \
--cc=satishkh@cisco.com \
--cc=sbhatta@marvell.com \
--cc=sd@queasysnail.net \
--cc=sdf@fomichev.me \
--cc=sean.wang@mediatek.com \
--cc=sgoutham@marvell.com \
--cc=shaojijie@huawei.com \
--cc=shayne.chen@mediatek.com \
--cc=shenjian15@huawei.com \
--cc=shenwei.wang@nxp.com \
--cc=skhan@linuxfoundation.org \
--cc=sstabellini@kernel.org \
--cc=steffen.klassert@secunet.com \
--cc=surenb@google.com \
--cc=tariqt@nvidia.com \
--cc=thostet@google.com \
--cc=vbabka@kernel.org \
--cc=vikas.gupta@broadcom.com \
--cc=virtualization@lists.linux.dev \
--cc=wei.fang@nxp.com \
--cc=wei.liu@kernel.org \
--cc=willemb@google.com \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.