mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next v1 0/5] net: deprecate skb->pp_recycle and skb_mark_for_recycle()
@ 2026-11-03 21:14 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
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Mina Almasry @ 2026-11-03 21:14 UTC (permalink / raw)
  To: netdev, linux-kernel, virtualization, linux-mm, bpf,
	linux-wireless, linux-doc, bcm-kernel-feedback-list, imx,
	linux-rdma, linux-hyperv, linux-renesas-soc, linux-omap
  Cc: Mina Almasry, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Simon Horman, Steffen Klassert, Herbert Xu,
	Willem de Bruijn, Stanislav Fomichev, Pavel Begunkov,
	Bobby Eshleman, Andrew Lunn, Michael S. Tsirkin, Jason Wang,
	Eugenio Pérez, Xuan Zhuo, Andrew Morton, David Hildenbrand,
	Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
	Suren Baghdasaryan, Michal Hocko, Jesper Dangaard Brouer,
	Ilias Apalodimas, Alexei Starovoitov, Daniel Borkmann,
	John Fastabend, Sabrina Dubroca, Johannes Berg, Byungchul Park,
	Jonathan Corbet, Shuah Khan, Randy Dunlap, Lorenzo Bianconi,
	Wen Gu, Philo Lu, Justin Chen, Florian Fainelli, Vikas Gupta,
	Michael Chan, Pavan Chebbi, Doug Berger, Nicolai Buchwitz,
	Satish Kharat, Wei Fang, Frank Li, Shenwei Wang,
	Joshua Washington, Harshitha Ramamurthy, Jijie Shao, Jian Shen,
	Fan Gong, Tony Nguyen, Przemek Kitszel, Marcin Wojtas,
	Russell King, Sunil Goutham, Geetha sowjanya, Ratheesh Kannoth,
	Subbaraya Sundeep, Bharat Bhushan, Felix Fietkau,
	Matthias Brugger, AngeloGioacchino Del Regno, Tariq Toukan,
	Saeed Mahameed, Mark Bloch, Leon Romanovsky, Ido Schimmel,
	Petr Machata, Horatiu Vultur, UNGLinuxDriver, Daniel Machon,
	Steen Hegelund, Haiyang Zhang, Wei Liu, Dexuan Cui, Yibo Dong,
	Brett Creeley, Justin Lai, Larry Chiu, Niklas Söderlund,
	Paul Barker, Masahisa Kojima, Maxime Chevallier, Maxime Coquelin,
	Alexandre Torgue, FUJITA Tomonori, Siddharth Vadapalli,
	Roger Quadros, MD Danish Anwar, Jiawen Wu, Mengyuan Lou,
	Ronak Doshi, Ryder Lee, Shayne Chen, Sean Wang, Juergen Gross,
	Stefano Stabellini, Oleksandr Tyshchenko, Jordan Rhee,
	Ankit Garg, Tim Hostetler, Erni Sri Satya Vennela, Eric Joyner,
	Mohammad Heib, Prabu Thayalan, Chintan Vankar, Nora Schiffer,
	Alexander Sverdlin, Kevin Hao, Karl Mehltretter,
	Aleksandr Loktionov, Meghana Malladi, Jacob Keller,
	StanleyYP Wang

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.
- 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
-- 
2.56.0.385.gac671c819a-goog


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-11-03 21:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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-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-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-03 21:14 ` [PATCH net-next v1 4/5] net: remove skb->pp_recycle and consolidate netmem refcounting Mina Almasry
2026-11-03 21:14 ` [PATCH net-next v1 5/5] net: remove skb_mark_for_recycle() Mina Almasry

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®