Skip to contentSkip to conversation

net/mlx5: fix the drop action memory leak

PATCH Superseded Bing Zhao 2 participants 3 messages Jul 13, 2023 – Jul 18, 2023 Network drivers

lore
Share & tools
lore

Bing Zhao

author
#0 lore raw

PATCH 1/1 net/mlx5: fix the drop action memory leak

In DV mode, when quitting an application, the default drop action and its resources should be released. The Devx action for the TIR was not destroyed and it would cause 80B memory leak.

With this commit, in DV mode, the action should be destroyed in the mlx5_devx_drop_action_destroy() explicitly.

Bugzilla ID: 1192
Bugzilla ID: 1255

Fixes bc5bee028ebc ("net/mlx5: create drop queue using DevX")
---
 drivers/net/mlx5/mlx5_devx.c | 4 ++++
 1 file changed, 4 insertions(+)
drivers/net/mlx5/mlx5_devx.c +4 -0
index d286cfe864..9fa400fc48 100644
@@ -1134,6 +1134,10 @@ mlx5_devx_drop_action_destroy(struct rte_eth_dev *dev)
 	struct mlx5_priv *priv = dev->data->dev_private;
 	struct mlx5_hrxq *hrxq = priv->drop_queue.hrxq;
 
+#if defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_INFINIBAND_VERBS_H)
+	if (hrxq->action != NULL)
+		mlx5_flow_os_destroy_flow_action(hrxq->action);
+#endif
 	if (hrxq->tir != NULL)
 		mlx5_devx_tir_destroy(hrxq);
 	if (hrxq->ind_table->ind_table != NULL)
Signature · 1 line
2.34.1
author
#1 lore raw

PATCH v2 1/1 net/mlx5: fix the drop action memory leak

In DV mode, when quitting an application, the default drop action and its resources should be released. The Devx action for the TIR was not destroyed and it would cause 80B memory leak.

With this commit, in DV mode, the action should be destroyed in the mlx5_devx_drop_action_destroy() explicitly.

Bugzilla ID: 1192
Bugzilla ID: 1255

Fixes bc5bee028ebc ("net/mlx5: create drop queue using DevX")

---
v2: added the reporter

---
 drivers/net/mlx5/mlx5_devx.c | 4 ++++
 1 file changed, 4 insertions(+)
drivers/net/mlx5/mlx5_devx.c +4 -0
index d286cfe864..9fa400fc48 100644
@@ -1134,6 +1134,10 @@ mlx5_devx_drop_action_destroy(struct rte_eth_dev *dev)
 	struct mlx5_priv *priv = dev->data->dev_private;
 	struct mlx5_hrxq *hrxq = priv->drop_queue.hrxq;
 
+#if defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_INFINIBAND_VERBS_H)
+	if (hrxq->action != NULL)
+		mlx5_flow_os_destroy_flow_action(hrxq->action);
+#endif
 	if (hrxq->tir != NULL)
 		mlx5_devx_tir_destroy(hrxq);
 	if (hrxq->ind_table->ind_table != NULL)
Signature · 1 line
2.34.1
#2 lore raw

,
x

Quoted 23 lines

-----Original Message-----
From: Bing Zhao <[email protected]>
Sent: Thursday, July 13, 2023 2:20 PM
To: Matan Azrad <[email protected]>; Slava Ovsiienko <[email protected]>; Ori Kam <[email protected]>; Suanming Mou <[email protected]>; Raslan Darawsheh <[email protected]>
Cc: [email protected]; [email protected]; David Marchand <[email protected]>; Mário Kuka <[email protected]>
Subject: [PATCH v2] net/mlx5: fix the drop action memory leak

In DV mode, when quitting an application, the default drop action and its resources should be released. The Devx action for the TIR was not destroyed and it would cause 80B memory leak.

With this commit, in DV mode, the action should be destroyed in the mlx5_devx_drop_action_destroy() explicitly.

Bugzilla ID: 1192
Bugzilla ID: 1255

Fixes bc5bee028ebc ("net/mlx5: create drop queue using DevX")
Quoted 6 lines

---
v2: added the reporter

Patch applied to next-net-mlx,

Kindest regards
Raslan Darawsheh