Skip to content

multi-process and VF hotplug fixes

Long Li dpdk-dev 1 version Applied

Status from this message: Applied to next-net.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v5 Latest7 patches 4 repliesApplied

Changes in v5 from the cover letter

- Patches 5,6,7: Also restore rte_eth_fp_ops burst function pointers (rx_pkt_burst, tx_pkt_burst) in START_RXTX handler, not just queue data pointers. Without this, after a STOP->START cycle the secondary process burst pointers remain set to dummy functions.

Patches in v5 Applied

#Subject and filesSizeRepliesApplied
1/7net/netvsc: fix race conditions on VF add/remove eventsdrivers/net/netvsc/hn_ethdev.c drivers/net/netvsc/hn_rxtx.c drivers/net/netvsc/hn_var.h +1 more+106 -870 replies
2/7net/netvsc: add multi-process VF device removal supportdrivers/net/netvsc/hn_ethdev.c drivers/net/netvsc/hn_nvs.h drivers/net/netvsc/hn_vf.c+295 -50 replies
3/7net/mana: fix PD resource leak on device closedrivers/net/mana/mana.c+14 -00 replies
4/7net/netvsc: fix devargs memory leak on hotplugdrivers/net/netvsc/hn_ethdev.c+2 -00 replies
5/7net/mana: fix fast-path ops setup in secondary processdrivers/net/mana/mp.c+8 -00 replies
6/7net/mlx5: fix fast-path ops setup in secondary processdrivers/net/mlx5/linux/mlx5_mp_os.c+6 -00 replies
7/7net/mlx4: fix fast-path ops setup in secondary processdrivers/net/mlx4/mlx4_mp.c+6 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [PATCH v5 0/7] multi-process and VF hotplug fixes

Fix several issues with VF hotplug and multi-process support in netvsc, mana, mlx5, and mlx4 drivers:

- Fix race conditions between VSP notifications and DPDK device events during VF add/remove, with proper locking of VF-related fields
- Add multi-process communication infrastructure for coordinating VF removal across primary and secondary processes
- Fix Protection Domain resource leak on device close in mana
- Fix devargs memory leak during VF hotplug in netvsc
- Fix fast-path ops (rte_eth_fp_ops) setup in secondary processes for mana, mlx5, and mlx4, ensuring burst function pointers are restored after STOP->START cycles

v5:
- Patches 5,6,7: Also restore rte_eth_fp_ops burst function pointers (rx_pkt_burst, tx_pkt_burst) in START_RXTX handler, not just queue data pointers. Without this, after a STOP->START cycle the secondary process burst pointers remain set to dummy functions.

v4:
- Patch 1: Check hn_vf_add() return value in netvsc_hotplug_retry
- Patch 1: Track fresh_attach to avoid tearing down original VF attachment when configure/start fails on an -EEXIST path
- Patch 2: Move counter decrement and netvsc_uninit_once() after device cleanup in eth_hn_remove() to prevent use-after-free of shared data
- Patch 2: Clear netvsc_shared_data on init failure paths to prevent dangling pointer

v3:
- Fix review comments from v2

v2:
- Initial rework of VF add/remove locking

Long Li (7):
net/netvsc: fix race conditions on VF add/remove events net/netvsc: add multi-process VF device removal support net/mana: fix PD resource leak on device close net/netvsc: fix devargs memory leak on hotplug net/mana: fix fast-path ops setup in secondary process net/mlx5: fix fast-path ops setup in secondary process net/mlx4: fix fast-path ops setup in secondary process

 drivers/net/mana/mana.c             |  14 ++
 drivers/net/mana/mp.c               |   8 +
 drivers/net/mlx4/mlx4_mp.c          |   6 +
 drivers/net/mlx5/linux/mlx5_mp_os.c |   6 +
 drivers/net/netvsc/hn_ethdev.c      | 300 +++++++++++++++++++++++++++-
 drivers/net/netvsc/hn_nvs.h         |   6 +
 drivers/net/netvsc/hn_rxtx.c        |  40 ++--
 drivers/net/netvsc/hn_var.h         |   1 +
 drivers/net/netvsc/hn_vf.c          | 148 ++++++++------
 9 files changed, 437 insertions(+), 92 deletions(-)
Signature · 1 line
2.43.0