[dpdk-dev] [PATCH 00/11] ethdev: fix race conditions in iterator and notifications
Thomas Monjalon
thomas at monjalon.net
Wed May 9 11:43:26 CEST 2018
We have discovered some race conditions when using the port iterator
and/or the notifications recently added.
The work was done mostly with failsafe but some bugs could
be reproduced with other drivers.
These 11 patches are fixing all these issues.
The PMDs are modified to call a new function at the end of the probing.
Matan Azrad (4):
ethdev: allow ownership operations on unused port
ethdev: add lock to port allocation check
net/failsafe: fix sub-device ownership race
ethdev: fix port removal notification timing
Thomas Monjalon (7):
ethdev: fix debug log of owner id
net/failsafe: fix sub-device visibility
ethdev: add doxygen comments for each state
drivers/net: use higher level of probing helper for PCI
ethdev: add probing finish function
ethdev: fix port visibility before initialization
ethdev: fix port probing notification
drivers/net/af_packet/rte_eth_af_packet.c | 2 +
drivers/net/ark/ark_ethdev.c | 2 +
drivers/net/avp/avp_ethdev.c | 15 +-----
drivers/net/bnx2x/bnx2x_ethdev.c | 20 ++-----
drivers/net/bonding/rte_eth_bond_pmd.c | 2 +
drivers/net/cxgbe/cxgbe_ethdev.c | 1 +
drivers/net/cxgbe/cxgbe_main.c | 5 ++
drivers/net/cxgbe/cxgbevf_ethdev.c | 1 +
drivers/net/cxgbe/cxgbevf_main.c | 5 ++
drivers/net/dpaa/dpaa_ethdev.c | 5 +-
drivers/net/dpaa2/dpaa2_ethdev.c | 4 +-
drivers/net/failsafe/failsafe.c | 24 +++++++--
drivers/net/failsafe/failsafe_eal.c | 59 ++++++++++++--------
drivers/net/failsafe/failsafe_ether.c | 23 ++++++++
drivers/net/failsafe/failsafe_private.h | 4 ++
drivers/net/kni/rte_eth_kni.c | 2 +
drivers/net/liquidio/lio_ethdev.c | 15 +-----
drivers/net/mlx4/mlx4.c | 1 +
drivers/net/mlx5/mlx5.c | 2 +
drivers/net/mvpp2/mrvl_ethdev.c | 1 +
drivers/net/nfp/nfp_net.c | 2 +
drivers/net/null/rte_eth_null.c | 2 +
drivers/net/octeontx/octeontx_ethdev.c | 3 ++
drivers/net/pcap/rte_eth_pcap.c | 2 +
drivers/net/ring/rte_eth_ring.c | 1 +
drivers/net/softnic/rte_eth_softnic.c | 3 ++
drivers/net/szedata2/rte_eth_szedata2.c | 2 +
drivers/net/tap/rte_eth_tap.c | 2 +
drivers/net/vhost/rte_eth_vhost.c | 2 +
drivers/net/virtio/virtio_user_ethdev.c | 3 ++
lib/librte_ethdev/rte_ethdev.c | 89 ++++++++++++++++++++-----------
lib/librte_ethdev/rte_ethdev.h | 6 ++-
lib/librte_ethdev/rte_ethdev_driver.h | 14 +++++
lib/librte_ethdev/rte_ethdev_pci.h | 2 +
lib/librte_ethdev/rte_ethdev_version.map | 1 +
test/test/virtual_pmd.c | 2 +
36 files changed, 230 insertions(+), 99 deletions(-)
--
2.16.2
More information about the dev
mailing list