From e4f72c9e66c5d8f8f63b4b22110698361a2d0119 Mon Sep 17 00:00:00 2001 From: Ivan Malov Date: Mon, 16 Nov 2020 22:40:29 +0300 Subject: [PATCH] net/sfc: rely on native thread safety in flow mechanism 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 Acked-by: Andrew Rybchenko --- 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 962e54389f..f5e9f9495e 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 24cedba167..4e8d13fc26 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 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 db81e705fa..93fc7baa0d 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