From patchwork Mon Jul 20 09:12:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Radu Nicolau X-Patchwork-Id: 74478 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 11E8FA0540; Mon, 20 Jul 2020 11:12:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9AAEB2B9A; Mon, 20 Jul 2020 11:12:24 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 3D1571DBB for ; Mon, 20 Jul 2020 11:12:23 +0200 (CEST) IronPort-SDR: Lr26nVYW1W6fS/LrYAWoEu51/eI19c7C/DIWg4xxChQrpJTk36w5iYve3b47LOZStfRpknBKUT rNnm4/91xg7A== X-IronPort-AV: E=McAfee;i="6000,8403,9687"; a="214558988" X-IronPort-AV: E=Sophos;i="5.75,374,1589266800"; d="scan'208";a="214558988" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2020 02:12:22 -0700 IronPort-SDR: NrLcwUMwwC1U6Ms/5kt9KsHY7IDN/97oniKnCnvqj9YeG50X1TneQ7L8oiMmCC7xnenIV2evWa WUzoQ6jZXwlg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,374,1589266800"; d="scan'208";a="461618068" Received: from silpixa00383879.ir.intel.com ([10.237.222.142]) by orsmga005.jf.intel.com with ESMTP; 20 Jul 2020 02:12:19 -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, Radu Nicolau Date: Mon, 20 Jul 2020 10:12:13 +0100 Message-Id: <1595236337-28230-1-git-send-email-radu.nicolau@intel.com> X-Mailer: git-send-email 2.7.4 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 v9 0/4] 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, IXGBE and QAT PMDs are updated to use the write combining store functions with other PMDs to follow. Radu Nicolau (4): 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 .../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/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 | 56 ++++++++++++++++++++++ 11 files changed, 149 insertions(+), 19 deletions(-)