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 30BD7A2E1B for ; Thu, 5 Sep 2019 12:55:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 56C311EF95; Thu, 5 Sep 2019 12:55:40 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 7EB3D1EF93; Thu, 5 Sep 2019 12:55:38 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CC6101576; Thu, 5 Sep 2019 03:55:37 -0700 (PDT) Received: from phil-VirtualBox.shanghai.arm.com (unknown [10.169.106.163]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 491283F718; Thu, 5 Sep 2019 03:55:35 -0700 (PDT) From: Phil Yang To: yskoh@mellanox.com, viacheslavo@mellanox.com, matan@mellanox.com, nelio.laranjeiro@6wind.com, dev@dpdk.org Cc: thomas@monjalon.net, jerinj@marvell.com, Honnappa.Nagarahalli@arm.com, gavin.hu@arm.com, nd@arm.com, stable@dpdk.org Date: Thu, 5 Sep 2019 18:55:07 +0800 Message-Id: <1567680908-31210-1-git-send-email-phil.yang@arm.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [PATCH 1/2] net/mlx5: fix Rx CQ doorbell synchronization on aarch64 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The Rx completion queue doorbell field needs to be updated after the last CQE decompressed. For the weaker memory model processors, the compiler barrier is not sufficient to guarantee the order of these operations, so use the coherent I/O memory barrier to make sure these fields are updated in order. Fixes: 570acdb1da8a ("net/mlx5: add vectorized Rx/Tx burst for ARM") Cc: stable@dpdk.org Suggested-by: Gavin Hu Signed-off-by: Phil Yang Reviewed-by: Gavin Hu --- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h index 9930286..e914d01 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h @@ -727,7 +727,7 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n, rxq->decompressed -= n; } } - rte_compiler_barrier(); + rte_cio_wmb(); *rxq->cq_db = rte_cpu_to_be_32(rxq->cq_ci); return rcvd_pkt; } -- 2.7.4