[v3] net/mlx5: fix Rx queue release of resources

Message ID bae967a6f3c07e5a417226a9d4fb2781b4a42235.1563958922.git.dekelp@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series [v3] net/mlx5: fix Rx queue release of resources |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Dekel Peled July 24, 2019, 9:05 a.m. UTC
  Function rxq_release_rq_resources() releases resources of RQ object
created by DevX API.

This patch updates this function to properly clear the released
resources, to avoid repeated release of the same resource.

Fixes: 13f4e1b32137 ("net/mlx5: create advanced RxQ using new API")

---
v3: Use adequate 'Fixes' reference.
---

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Raslan Darawsheh July 24, 2019, 11:25 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Dekel Peled
> Sent: Wednesday, July 24, 2019 12:05 PM
> To: Yongseok Koh <yskoh@mellanox.com>; Slava Ovsiienko
> <viacheslavo@mellanox.com>; Shahaf Shuler <shahafs@mellanox.com>
> Cc: Ori Kam <orika@mellanox.com>; dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v3] net/mlx5: fix Rx queue release of resources
> 
> Function rxq_release_rq_resources() releases resources of RQ object
> created by DevX API.
> 
> This patch updates this function to properly clear the released resources, to
> avoid repeated release of the same resource.
> 
> Fixes: 13f4e1b32137 ("net/mlx5: create advanced RxQ using new API")
> 
> ---
> v3: Use adequate 'Fixes' reference.
> ---
> 
> Signed-off-by: Dekel Peled <dekelp@mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_rxq.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
> index c9df8b0..441f158 100644
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> @@ -573,8 +573,10 @@
>  		rte_free((void *)(uintptr_t)rxq_ctrl->rxq.wqes);
>  		rxq_ctrl->rxq.wqes = NULL;
>  	}
> -	if (rxq_ctrl->wq_umem)
> +	if (rxq_ctrl->wq_umem) {
>  		mlx5_glue->devx_umem_dereg(rxq_ctrl->wq_umem);
> +		rxq_ctrl->wq_umem = NULL;
> +	}
>  }
> 
>  /**
> --
> 1.8.3.1

Patch applied to dpdk-next-net-mlx,

Kindest regards,
Raslan Darawsheh
  
Matan Azrad July 24, 2019, 8:23 p.m. UTC | #2
äùâ àú Outlook òáåø Android<https://aka.ms/ghei36>



îàú: Dekel Peled
ðùìç: éåí øáéòé, 24 áéåìé, 12:05
ðåùà: [dpdk-dev] [PATCH v3] net/mlx5: fix Rx queue release of resources
àì: Yongseok Koh, Slava Ovsiienko, Shahaf Shuler
òåú÷: Ori Kam, dev@dpdk.org


Function rxq_release_rq_resources() releases resources of RQ object
created by DevX API.

This patch updates this function to properly clear the released
resources, to avoid repeated release of the same resource.

Fixes: 13f4e1b32137 ("net/mlx5: create advanced RxQ using new API")

---
v3: Use adequate 'Fixes' reference.
---

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index c9df8b0..441f158 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -573,8 +573,10 @@
                 rte_free((void *)(uintptr_t)rxq_ctrl->rxq.wqes);
                 rxq_ctrl->rxq.wqes = NULL;
         }
-       if (rxq_ctrl->wq_umem)
+       if (rxq_ctrl->wq_umem) {
                 mlx5_glue->devx_umem_dereg(rxq_ctrl->wq_umem);
+               rxq_ctrl->wq_umem = NULL;
+       }
 }

 /**
--
1.8.3.1
  

Patch

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index c9df8b0..441f158 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -573,8 +573,10 @@ 
 		rte_free((void *)(uintptr_t)rxq_ctrl->rxq.wqes);
 		rxq_ctrl->rxq.wqes = NULL;
 	}
-	if (rxq_ctrl->wq_umem)
+	if (rxq_ctrl->wq_umem) {
 		mlx5_glue->devx_umem_dereg(rxq_ctrl->wq_umem);
+		rxq_ctrl->wq_umem = NULL;
+	}
 }
 
 /**