[PATCH] net/mlx5: fix missing thread safety flag for flow API
    Dariusz Sosnowski 
    dsosnowski at nvidia.com
       
    Mon Oct 23 12:23:02 CEST 2023
    
    
  
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 at nvidia.com
Cc: stable at dpdk.org
Signed-off-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
Acked-by: Suanming Mou <suanmingm at nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_os.c | 1 +
 1 file changed, 1 insertion(+)
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.");
-- 
2.25.1
    
    
More information about the dev
mailing list