[dpdk-stable] patch 'net/mlx4: fix memory region cleanup' has been queued to LTS release 18.11.2
Kevin Traynor
ktraynor at redhat.com
Wed May 8 12:15:05 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/eb4a74ffa52b4b23822abb9bbd6afaba2d424687
Thanks.
Kevin Traynor
---
>From eb4a74ffa52b4b23822abb9bbd6afaba2d424687 Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
Date: Mon, 15 Apr 2019 08:40:58 +0000
Subject: [PATCH] net/mlx4: fix memory region cleanup
[ upstream commit 897dbd3c861d6c78e751a6bdc6061305f65bab00 ]
mlx4 driver has a global list of Memory Regions created by
device, and there is a ml4_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: 9797bfcce1c9 ("net/mlx4: add new memory region support")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
Acked-by: Yongseok Koh <yskoh at mellanox.com>
---
drivers/net/mlx4/mlx4_mr.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/mlx4/mlx4_mr.c b/drivers/net/mlx4/mlx4_mr.c
index 0d83d81e6..98c236fb7 100644
--- a/drivers/net/mlx4/mlx4_mr.c
+++ b/drivers/net/mlx4/mlx4_mr.c
@@ -478,5 +478,5 @@ mr_free(struct mlx4_mr *mr)
/**
- * Releass resources of detached MR having no online entry.
+ * Release resources of detached MR having no online entry.
*
* @param dev
@@ -526,5 +526,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) {
- WARN("port %u unable to initialize bitamp for a new MR of"
+ WARN("port %u unable to initialize bitmap for a new MR of"
" address (%p).",
dev->data->port_id, (void *)addr);
@@ -1330,5 +1330,5 @@ mlx4_mr_release(struct rte_eth_dev *dev)
{
struct mlx4_priv *priv = dev->data->dev_private;
- struct mlx4_mr *mr_next = LIST_FIRST(&priv->mr.mr_list);
+ struct mlx4_mr *mr_next;
/* Remove from memory callback device list. */
@@ -1341,4 +1341,5 @@ mlx4_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 mlx4_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.994157111 +0100
+++ 0023-net-mlx4-fix-memory-region-cleanup.patch 2019-05-08 11:05:05.804933284 +0100
@@ -1 +1 @@
-From 897dbd3c861d6c78e751a6bdc6061305f65bab00 Mon Sep 17 00:00:00 2001
+From eb4a74ffa52b4b23822abb9bbd6afaba2d424687 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 897dbd3c861d6c78e751a6bdc6061305f65bab00 ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org
@@ -18,2 +19,2 @@
- drivers/net/mlx4/mlx4_mr.c | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
+ drivers/net/mlx4/mlx4_mr.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
@@ -22 +23 @@
-index ad7d4832f..48d458ad4 100644
+index 0d83d81e6..98c236fb7 100644
@@ -32,8 +33 @@
-@@ -528,5 +528,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
-@@ -574,5 +574,5 @@ mlx4_mr_create_secondary(struct rte_eth_dev *dev, struct mlx4_mr_cache *entry,
+@@ -526,5 +526,5 @@ mr_find_contig_memsegs_cb(const struct rte_memseg_list *msl,
@@ -45,2 +39,2 @@
- * This must be called from the primary process.
-@@ -683,5 +683,5 @@ alloc_resources:
+ *
+@@ -624,5 +624,5 @@ alloc_resources:
@@ -53,8 +47 @@
-@@ -821,5 +821,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.
- *
-@@ -1435,5 +1435,5 @@ mlx4_mr_release(struct rte_eth_dev *dev)
+@@ -1330,5 +1330,5 @@ mlx4_mr_release(struct rte_eth_dev *dev)
@@ -67 +54 @@
-@@ -1446,4 +1446,5 @@ mlx4_mr_release(struct rte_eth_dev *dev)
+@@ -1341,4 +1341,5 @@ mlx4_mr_release(struct rte_eth_dev *dev)
More information about the stable
mailing list