net/mlx5: fix missing thread safety flag for flow API

Message ID 20231023102303.1443105-1-dsosnowski@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series net/mlx5: fix missing thread safety flag for flow API |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-compile-amd64-testing success Testing PASS
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/github-robot: build success github build: passed

Commit Message

Dariusz Sosnowski Oct. 23, 2023, 10:23 a.m. UTC
  When mlx5 port was configured with HW Steering flow engine
(devarg dv_flow_en set to 2), PMD did not set
RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE in device flags.
This caused certain flow API calls, such as rte_flow_query(),
to obtain a port-wide lock, which is not needed.

This patch adds missing code for setting this flag.

Fixes: d84c3cf7662c ("net/mlx5: introduce hardware steering enable routine")
Cc: suanmingm@nvidia.com
Cc: stable@dpdk.org

Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Suanming Mou <suanmingm@nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_os.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Raslan Darawsheh Oct. 31, 2023, 8:03 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: Dariusz Sosnowski <dsosnowski@nvidia.com>
> Sent: Monday, October 23, 2023 1:23 PM
> To: Matan Azrad <matan@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Ori Kam <orika@nvidia.com>; Suanming Mou
> <suanmingm@nvidia.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix missing thread safety flag for flow API
> 
> When mlx5 port was configured with HW Steering flow engine (devarg
> dv_flow_en set to 2), PMD did not set
> RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE in device flags.
> This caused certain flow API calls, such as rte_flow_query(), to obtain a port-
> wide lock, which is not needed.
> 
> This patch adds missing code for setting this flag.
> 
> Fixes: d84c3cf7662c ("net/mlx5: introduce hardware steering enable routine")
> Cc: suanmingm@nvidia.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
> Acked-by: Suanming Mou <suanmingm@nvidia.com>

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh
  

Patch

diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index d5ef695e6d..1caece5405 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1643,6 +1643,7 @@  mlx5_dev_spawn(struct rte_device *dpdk_dev,
 					 "matching is disabled",
 				eth_dev->data->port_id);
 		}
+		eth_dev->data->dev_flags |= RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE;
 		return eth_dev;
 #else
 		DRV_LOG(ERR, "DV support is missing for HWS.");