mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next v1 0/4] net: devmem: support leased RX and TX queues on netdev unregister
@ 2026-11-03 23:26 Mina Almasry
  2026-11-03 23:26 ` [PATCH net-next v1 1/4] net: devmem: pass net_device pointer to net_devmem_lock_dev() Mina Almasry
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Mina Almasry @ 2026-11-03 23:26 UTC (permalink / raw)
  To: netdev, linux-kselftest, linux-kernel
  Cc: Mina Almasry, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Simon Horman, Shuah Khan, Stanislav Fomichev,
	Nikolay Aleksandrov, Daniel Borkmann, Bobby Eshleman, David Wei

Support leased RX and TX devmem bindings when either the virtual device
(e.g. netkit) or the physical backing net_device is unregistered:

1. Pass struct net_device **dev_ptr to net_devmem_lock_dev() so callers
   can lock either binding->map_dev or binding->bind_dev.
2. Rename binding->dev and binding->vdev to binding->map_dev (physical
   DMA device) and binding->bind_dev (device passed to bind-rx/bind-tx).
3. Always populate both map_dev and bind_dev for direct and leased RX/TX
   bindings, and rely on dev_memory_provider_uninstall() and
   netif_rxq_cleanup_unlease() to uninstall RX queues and clear
   binding->bind_dev once bound_rxqs is empty.
4. Add kselftests in nl_netdev.py covering leased RX and TX devmem
   bindings across both virtual-first and physical-first netdev
   unregistration orders.

Mina Almasry (4):
  net: devmem: pass net_device pointer to net_devmem_lock_dev()
  net: devmem: rename binding dev and vdev to map_dev and bind_dev
  net: devmem: support leased queues on netdev unregister
  selftests: net: add leased devmem RX and TX netdev unregister tests

 net/core/dev.c                           |   2 +-
 net/core/devmem.c                        | 121 +++++++++++----------
 net/core/devmem.h                        |  25 +++--
 net/core/netdev-genl.c                   |  58 ++++++----
 net/core/netdev_rx_queue.c               |   5 +
 tools/testing/selftests/net/nl_netdev.py | 132 ++++++++++++++++++++++-
 6 files changed, 249 insertions(+), 94 deletions(-)


base-commit: 7b6ab4dbc156e2f96419715130b3d5738a306c93
-- 
2.56.0.385.gac671c819a-goog


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

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

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03 23:26 [PATCH net-next v1 0/4] net: devmem: support leased RX and TX queues on netdev unregister Mina Almasry
2026-11-03 23:26 ` [PATCH net-next v1 1/4] net: devmem: pass net_device pointer to net_devmem_lock_dev() Mina Almasry
2026-11-03 23:26 ` [PATCH net-next v1 2/4] net: devmem: rename binding dev and vdev to map_dev and bind_dev Mina Almasry
2026-11-03 23:26 ` [PATCH net-next v1 3/4] net: devmem: support leased queues on netdev unregister Mina Almasry
2026-11-03 23:26 ` [PATCH net-next v1 4/4] selftests: net: add leased devmem RX and TX netdev unregister tests 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®