[dpdk-stable] patch 'net/mlx5: fix secondary process initialization ordering' has been queued to stable release 19.11.9

Christian Ehrhardt christian.ehrhardt at canonical.com
Thu Jun 10 14:06:17 CEST 2021


Hi,

FYI, your patch has been queued to stable release 19.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/12/21. 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/cpaelzer/dpdk-stable-queue

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

Thanks.

Christian Ehrhardt <christian.ehrhardt at canonical.com>

---
>From d176e9e77d81e8d51482e825c603ffe356099d8c Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen at huawei.com>
Date: Mon, 10 May 2021 20:06:03 +0800
Subject: [PATCH] net/mlx5: fix secondary process initialization ordering

[ upstream commit 69b44d6bce1c9990e522a08f693d5f9f2e2e5067 ]

The memory barrier is used to ensure that the response is returned
only after the Tx/Rx function is set, it should place after the Rx/Tx
function is set.

Fixes: 2aac5b5d119f ("net/mlx5: sync stop/start with secondary process")

Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
---
 drivers/net/mlx5/mlx5_mp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_mp.c b/drivers/net/mlx5/mlx5_mp.c
index e889247871..6b7f5f3dcb 100644
--- a/drivers/net/mlx5/mlx5_mp.c
+++ b/drivers/net/mlx5/mlx5_mp.c
@@ -134,7 +134,6 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer)
 	switch (param->type) {
 	case MLX5_MP_REQ_START_RXTX:
 		DRV_LOG(INFO, "port %u starting datapath", dev->data->port_id);
-		rte_mb();
 		dev->rx_pkt_burst = mlx5_select_rx_function(dev);
 		dev->tx_pkt_burst = mlx5_select_tx_function(dev);
 		ppriv = (struct mlx5_proc_priv *)dev->process_private;
@@ -151,6 +150,7 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer)
 				return -rte_errno;
 			}
 		}
+		rte_mb();
 		mp_init_msg(dev, &mp_res, param->type);
 		res->result = 0;
 		ret = rte_mp_reply(&mp_res, peer);
-- 
2.31.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-06-10 14:04:59.463663215 +0200
+++ 0029-net-mlx5-fix-secondary-process-initialization-orderi.patch	2021-06-10 14:04:58.058024583 +0200
@@ -1 +1 @@
-From 69b44d6bce1c9990e522a08f693d5f9f2e2e5067 Mon Sep 17 00:00:00 2001
+From d176e9e77d81e8d51482e825c603ffe356099d8c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 69b44d6bce1c9990e522a08f693d5f9f2e2e5067 ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -16 +17 @@
- drivers/net/mlx5/linux/mlx5_mp_os.c | 2 +-
+ drivers/net/mlx5/mlx5_mp.c | 2 +-
@@ -19,5 +20,5 @@
-diff --git a/drivers/net/mlx5/linux/mlx5_mp_os.c b/drivers/net/mlx5/linux/mlx5_mp_os.c
-index ca529b6007..3a4aa766f8 100644
---- a/drivers/net/mlx5/linux/mlx5_mp_os.c
-+++ b/drivers/net/mlx5/linux/mlx5_mp_os.c
-@@ -132,7 +132,6 @@ struct rte_mp_msg mp_res;
+diff --git a/drivers/net/mlx5/mlx5_mp.c b/drivers/net/mlx5/mlx5_mp.c
+index e889247871..6b7f5f3dcb 100644
+--- a/drivers/net/mlx5/mlx5_mp.c
++++ b/drivers/net/mlx5/mlx5_mp.c
+@@ -134,7 +134,6 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer)
@@ -31 +32 @@
-@@ -149,6 +148,7 @@ struct rte_mp_msg mp_res;
+@@ -151,6 +150,7 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer)
@@ -36 +37 @@
- 		mp_init_msg(&priv->mp_id, &mp_res, param->type);
+ 		mp_init_msg(dev, &mp_res, param->type);


More information about the stable mailing list