From patchwork Wed Aug 26 09:55:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Radu Nicolau X-Patchwork-Id: 75984 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 39E9BA04B2; Wed, 26 Aug 2020 11:56:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7675F4C89; Wed, 26 Aug 2020 11:56:02 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id C8E3C255 for ; Wed, 26 Aug 2020 11:56:00 +0200 (CEST) IronPort-SDR: ppxe1XTKONlSEyrywv6bbrLKvT6A5BptcjJ3P8mL1Kfx9tFl9BBSCkLzY01fakXD9oVilrPYVY xpWyMzdcq0Bg== X-IronPort-AV: E=McAfee;i="6000,8403,9724"; a="157301332" X-IronPort-AV: E=Sophos;i="5.76,355,1592895600"; d="scan'208";a="157301332" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2020 02:55:59 -0700 IronPort-SDR: ktJw2114yDpCR/FDv4x0DXLmjJ88IBEDNwqVPG2vQ1Zz7ogWujieWbY/MMsVsnvKLVbtTi+6lg wNMOP4DRCHzw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,355,1592895600"; d="scan'208";a="295319462" Received: from silpixa00400567.ir.intel.com ([10.237.214.190]) by orsmga003.jf.intel.com with ESMTP; 26 Aug 2020 02:55:56 -0700 From: Radu Nicolau To: dev@dpdk.org Cc: beilei.xing@intel.com, jia.guo@intel.com, bruce.richardson@intel.com, konstantin.ananyev@intel.com, jerinjacobk@gmail.com, david.marchand@redhat.com, fiona.trahe@intel.com, wei.zhao1@intel.com, ruifeng.wang@arm.com, qiming.yang@intel.com, qi.z.zhang@intel.com, Radu Nicolau Date: Wed, 26 Aug 2020 10:55:47 +0100 Message-Id: <20200826095552.82525-1-radu.nicolau@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <1591870283-7776-1-git-send-email-radu.nicolau@intel.com> References: <1591870283-7776-1-git-send-email-radu.nicolau@intel.com> Subject: [dpdk-dev] [PATCH v11 0/5] eal: add WC store functions 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" Implement 2 new functions that will enable write combining stores depending on architecture. The functions are provided as a generic stub and a x86 specific implementation. The reason to implement these functions is to improve performance by reducing the overhead associated with regular mmio writes when updating the hardware queue tails and doorbells. With this patch set the I40E, ICE, IXGBE and QAT PMDs are updated to use the write combining store functions with other PMDs to follow. Radu Nicolau (5): eal: add WC store functions net/i40e: use WC store to update queue tail registers common/qat: use WC store to update queue tail registers net/ixgbe: use WC store to update queue tail registers net/ice: use WC store to update queue tail registers .../qat/qat_adf/adf_transport_access_macros.h | 6 ++- drivers/net/i40e/base/i40e_osdep.h | 5 ++ drivers/net/i40e/i40e_rxtx.c | 8 ++-- drivers/net/i40e/i40e_rxtx_vec_avx2.c | 4 +- drivers/net/i40e/i40e_rxtx_vec_sse.c | 4 +- drivers/net/ice/base/ice_osdep.h | 1 + drivers/net/ice/ice_rxtx.c | 6 +-- drivers/net/ice/ice_rxtx_vec_avx2.c | 4 +- drivers/net/ice/ice_rxtx_vec_sse.c | 4 +- drivers/net/ixgbe/base/ixgbe_osdep.h | 6 +++ drivers/net/ixgbe/ixgbe_rxtx.c | 15 +++--- drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 4 +- lib/librte_eal/arm/include/rte_io_64.h | 12 +++++ lib/librte_eal/include/generic/rte_io.h | 48 +++++++++++++++++++ lib/librte_eal/x86/include/rte_io.h | 42 ++++++++++++++++ 15 files changed, 143 insertions(+), 26 deletions(-)