The changeset that introduced common flow API thread safety in fact introduced double locking to this particular PMD as RTE flow API implementation in the PMD has been thread-safe since the day zero. State this by setting the corresponding device flag to skip locking imposed by generic RTE flow API.
Fixes: 80d1a9aff7f6 ("ethdev: make flow API thread safe") Signed-off-by: Ivan Malov <ivan.ma...@oktetlabs.ru> --- doc/guides/nics/sfc_efx.rst | 2 ++ doc/guides/rel_notes/release_20_11.rst | 1 + drivers/net/sfc/sfc_ethdev.c | 1 + 3 files changed, 4 insertions(+) diff --git a/doc/guides/nics/sfc_efx.rst b/doc/guides/nics/sfc_efx.rst index 962e54389..f5e9f9495 100644 --- a/doc/guides/nics/sfc_efx.rst +++ b/doc/guides/nics/sfc_efx.rst @@ -246,6 +246,8 @@ Validating flow rules depends on the firmware variant. The :ref:`flow_isolated_mode` is supported. +The implementation is natively thread-safe. + Ethernet destination individual/group match ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 24cedba16..1c262d39a 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -220,6 +220,7 @@ New Features * Added Alveo SN1000 SmartNICs (EF100 architecture) support including flow API transfer rules for switch HW offload * Added ARMv8 support + * Claimed RTE flow API native thread safety * **Added Wangxun txgbe PMD.** diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c index db81e705f..93fc7baa0 100644 --- a/drivers/net/sfc/sfc_ethdev.c +++ b/drivers/net/sfc/sfc_ethdev.c @@ -2198,6 +2198,7 @@ sfc_eth_dev_init(struct rte_eth_dev *dev) /* Copy PCI device info to the dev->data */ rte_eth_copy_pci_info(dev, pci_dev); dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS; + dev->data->dev_flags |= RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE; rc = sfc_kvargs_parse(sa); if (rc != 0) -- 2.20.1