From patchwork Fri Mar 13 09:18:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Hu X-Patchwork-Id: 66633 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 066FDA0567; Fri, 13 Mar 2020 10:19:45 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F07071BFFE; Fri, 13 Mar 2020 10:19:44 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id A244F3B5 for ; Fri, 13 Mar 2020 10:19:43 +0100 (CET) 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 F07B831B; Fri, 13 Mar 2020 02:19:42 -0700 (PDT) Received: from net-arm-thunderx2-04.shanghai.arm.com (net-arm-thunderx2-04.shanghai.arm.com [10.169.40.184]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6F99E3F67D; Fri, 13 Mar 2020 02:19:38 -0700 (PDT) From: Gavin Hu To: dev@dpdk.org Cc: nd@arm.com, david.marchand@redhat.com, thomas@monjalon.net, mk@semihalf.com, gtzalik@amazon.com, evgenys@amazon.com, igorch@amazon.com, mw@semihalf.com, Honnappa.Nagarahalli@arm.com, ruifeng.wang@arm.com, phil.yang@arm.com, joyce.kong@arm.com Date: Fri, 13 Mar 2020 17:18:28 +0800 Message-Id: <20200313091835.58039-1-gavin.hu@arm.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH RFC v1 0/7] relax barriers for ENA PMD and small fixes 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" To ensure the stores to the host memory are observed by NIC HW before a door bell ring to the NIC HW and the HW starts actions, for example, doing DMA, a barrier is required on weak memory ordering platforms, like aarch64. However, unnecessarily too strong barriers like 'dsb' on aarch64 will dampen performance. In a typical doorbell use case, as NIC and CPU are in the outer sharable domain, a lighter weight 'dmb osh' barrier is sufficient. The patch set relaxes the barriers in similar places and include one more patch for statistics logging with relaxed ordering and the other patch removing duplicate memset. Note this set is submitted for RFC as we don't have physical ENA NICs in the lab and the patch set was not verified nor benchmarked. Gavin Hu (7): net/ena: remove duplicate barrier net/ena: relax the barrier for doorbell ring net/ena: relax the rmb for DMA net/ena: relax barrier for completion queue update net/ena: relax the barrier for bounce buffer net/ena: use c11 atomic for statistics net/ena: remove duplicate memset drivers/net/ena/base/ena_eth_com.c | 2 +- drivers/net/ena/base/ena_eth_com.h | 6 ++-- drivers/net/ena/base/ena_plat_dpdk.h | 2 +- drivers/net/ena/ena_ethdev.c | 46 +++++++++++++++++----------- drivers/net/ena/ena_ethdev.h | 8 ++--- 5 files changed, 38 insertions(+), 26 deletions(-)