[dpdk-stable] patch 'net/mlx5: fix memory region cleanup' has been queued to LTS release 18.11.2

Kevin Traynor ktraynor at redhat.com
Wed May 8 12:15:04 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 18.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 05/13/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a4d0145b1b580f192de496feb5c8974dbaaa472f

Thanks.

Kevin Traynor

---
>From a4d0145b1b580f192de496feb5c8974dbaaa472f Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
Date: Fri, 12 Apr 2019 15:45:27 +0000
Subject: [PATCH] net/mlx5: fix memory region cleanup

[ upstream commit f8753eae84041a7f5ea19434e80651cc2a9a9162 ]

mlx5 driver has a global list of Memory Regions created by
device, and there is a ml5_mr_release() routine which makes
a memory cleanup at device closing. The head of device MR list
was fetched outside the rwlock protected section. Also some
noticed typos are fixed.

Fixes: 974f1e7ef146 ("net/mlx5: add new memory region support")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
Acked-by: Yongseok Koh <yskoh at mellanox.com>
---
 drivers/net/mlx5/mlx5_mr.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index e255650ad..01bf59106 100644
--- a/drivers/net/mlx5/mlx5_mr.c
+++ b/drivers/net/mlx5/mlx5_mr.c
@@ -466,5 +466,5 @@ mr_free(struct mlx5_mr *mr)
 
 /**
- * Releass resources of detached MR having no online entry.
+ * Release resources of detached MR having no online entry.
  *
  * @param dev
@@ -516,5 +516,5 @@ mr_find_contig_memsegs_cb(const struct rte_memseg_list *msl,
 
 /**
- * Create a new global Memroy Region (MR) for a missing virtual address.
+ * Create a new global Memory Region (MR) for a missing virtual address.
  * Register entire virtually contiguous memory chunk around the address.
  *
@@ -624,5 +624,5 @@ alloc_resources:
 	mr->ms_bmp = rte_bitmap_init(ms_n, bmp_mem, bmp_size);
 	if (mr->ms_bmp == NULL) {
-		DEBUG("port %u unable to initialize bitamp for a new MR of"
+		DEBUG("port %u unable to initialize bitmap for a new MR of"
 		      " address (%p).",
 		      dev->data->port_id, (void *)addr);
@@ -1351,5 +1351,5 @@ mlx5_mr_release(struct rte_eth_dev *dev)
 {
 	struct mlx5_priv *priv = dev->data->dev_private;
-	struct mlx5_mr *mr_next = LIST_FIRST(&priv->mr.mr_list);
+	struct mlx5_mr *mr_next;
 
 	/* Remove from memory callback device list. */
@@ -1361,4 +1361,5 @@ mlx5_mr_release(struct rte_eth_dev *dev)
 	rte_rwlock_write_lock(&priv->mr.rwlock);
 	/* Detach from MR list and move to free list. */
+	mr_next = LIST_FIRST(&priv->mr.mr_list);
 	while (mr_next != NULL) {
 		struct mlx5_mr *mr = mr_next;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-05-08 11:05:06.949187622 +0100
+++ 0022-net-mlx5-fix-memory-region-cleanup.patch	2019-05-08 11:05:05.802933326 +0100
@@ -1 +1 @@
-From f8753eae84041a7f5ea19434e80651cc2a9a9162 Mon Sep 17 00:00:00 2001
+From a4d0145b1b580f192de496feb5c8974dbaaa472f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f8753eae84041a7f5ea19434e80651cc2a9a9162 ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org
@@ -18,2 +19,2 @@
- drivers/net/mlx5/mlx5_mr.c | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
+ drivers/net/mlx5/mlx5_mr.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
@@ -22 +23 @@
-index 44b65916d..a3732d47c 100644
+index e255650ad..01bf59106 100644
@@ -25 +26 @@
-@@ -467,5 +467,5 @@ mr_free(struct mlx5_mr *mr)
+@@ -466,5 +466,5 @@ mr_free(struct mlx5_mr *mr)
@@ -32,8 +33 @@
-@@ -517,5 +517,5 @@ mr_find_contig_memsegs_cb(const struct rte_memseg_list *msl,
- 
- /**
-- * Create a new global Memroy Region (MR) for a missing virtual address.
-+ * Create a new global Memory Region (MR) for a missing virtual address.
-  * This API should be called on a secondary process, then a request is sent to
-  * the primary process in order to create a MR for the address. As the global MR
-@@ -563,5 +563,5 @@ mlx5_mr_create_secondary(struct rte_eth_dev *dev, struct mlx5_mr_cache *entry,
+@@ -516,5 +516,5 @@ mr_find_contig_memsegs_cb(const struct rte_memseg_list *msl,
@@ -45,2 +39,2 @@
-  * This must be called from the primary process.
-@@ -674,5 +674,5 @@ alloc_resources:
+  *
+@@ -624,5 +624,5 @@ alloc_resources:
@@ -53,8 +47 @@
-@@ -812,5 +812,5 @@ err_nolock:
- 
- /**
-- * Create a new global Memroy Region (MR) for a missing virtual address.
-+ * Create a new global Memory Region (MR) for a missing virtual address.
-  * This can be called from primary and secondary process.
-  *
-@@ -1601,5 +1601,5 @@ mlx5_mr_release(struct rte_eth_dev *dev)
+@@ -1351,5 +1351,5 @@ mlx5_mr_release(struct rte_eth_dev *dev)
@@ -67 +54 @@
-@@ -1611,4 +1611,5 @@ mlx5_mr_release(struct rte_eth_dev *dev)
+@@ -1361,4 +1361,5 @@ mlx5_mr_release(struct rte_eth_dev *dev)


More information about the stable mailing list