From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 84BDAA046B for ; Tue, 23 Jul 2019 03:02:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7CA231B998; Tue, 23 Jul 2019 03:02:10 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 19E3C1B998 for ; Tue, 23 Jul 2019 03:02:10 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE2 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 23 Jul 2019 04:02:04 +0300 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x6N11HfD026580; Tue, 23 Jul 2019 04:02:02 +0300 From: Yongseok Koh To: Dekel Peled Cc: Shahaf Shuler , dpdk stable Date: Mon, 22 Jul 2019 17:59:54 -0700 Message-Id: <20190723010115.6446-27-yskoh@mellanox.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190723010115.6446-1-yskoh@mellanox.com> References: <20190723010115.6446-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/mlx5: fix sync when handling Tx completions' has been queued to LTS release 17.11.7 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 17.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objection by 07/27/19. So please shout if anyone has objection. 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. Thanks. Yongseok --- >From 094412925c32b3ceb3688c2af11288cf1f41738c Mon Sep 17 00:00:00 2001 From: Dekel Peled Date: Thu, 28 Feb 2019 17:20:30 +0200 Subject: [PATCH] net/mlx5: fix sync when handling Tx completions [ backported from upstream commit fd350d3c9a13b5ebcb41741870c3f09b6920033f ] Function mlx5_tx_complete() reads completion entry information from Tx queue. For some processors not having strongly-ordered memory model, there has to be a memory barrier between reading the entry index and the entry fields, in order to guarantee data is valid. Fixes: 54d3fe948dba ("net/mlx5: poll completion queue once per a call") Signed-off-by: Dekel Peled Acked-by: Shahaf Shuler --- drivers/net/mlx5/mlx5_rxtx.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index ce25c4eddb..d92dfc0109 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -506,6 +506,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq) } #endif /* NDEBUG */ ++cq_ci; + rte_io_rmb(); txq->wqe_pi = rte_be_to_cpu_16(cqe->wqe_counter); ctrl = (volatile struct mlx5_wqe_ctrl *) tx_mlx5_wqe(txq, txq->wqe_pi); -- 2.21.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-07-22 17:55:07.961346164 -0700 +++ 0027-net-mlx5-fix-sync-when-handling-Tx-completions.patch 2019-07-22 17:55:05.913471000 -0700 @@ -1,8 +1,10 @@ -From fd350d3c9a13b5ebcb41741870c3f09b6920033f Mon Sep 17 00:00:00 2001 +From 094412925c32b3ceb3688c2af11288cf1f41738c Mon Sep 17 00:00:00 2001 From: Dekel Peled Date: Thu, 28 Feb 2019 17:20:30 +0200 Subject: [PATCH] net/mlx5: fix sync when handling Tx completions +[ backported from upstream commit fd350d3c9a13b5ebcb41741870c3f09b6920033f ] + Function mlx5_tx_complete() reads completion entry information from Tx queue. For some processors not having strongly-ordered memory model, @@ -10,7 +12,6 @@ and the entry fields, in order to guarantee data is valid. Fixes: 54d3fe948dba ("net/mlx5: poll completion queue once per a call") -Cc: stable@dpdk.org Signed-off-by: Dekel Peled Acked-by: Shahaf Shuler @@ -19,14 +20,14 @@ 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h -index c0e1adf140..53115dde3d 100644 +index ce25c4eddb..d92dfc0109 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h -@@ -568,6 +568,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq) +@@ -506,6 +506,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq) } #endif /* NDEBUG */ ++cq_ci; -+ rte_cio_rmb(); ++ rte_io_rmb(); txq->wqe_pi = rte_be_to_cpu_16(cqe->wqe_counter); ctrl = (volatile struct mlx5_wqe_ctrl *) tx_mlx5_wqe(txq, txq->wqe_pi);