From patchwork Tue Mar 26 06:16:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wenzhuo Lu X-Patchwork-Id: 51688 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4B2E7326D; Tue, 26 Mar 2019 07:11:23 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id E24662C2F for ; Tue, 26 Mar 2019 07:11:20 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Mar 2019 23:11:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,271,1549958400"; d="scan'208";a="158420066" Received: from dpdk26.sh.intel.com ([10.67.110.164]) by fmsmga001.fm.intel.com with ESMTP; 25 Mar 2019 23:11:18 -0700 From: Wenzhuo Lu To: dev@dpdk.org Cc: Wenzhuo Lu Date: Tue, 26 Mar 2019 14:16:43 +0800 Message-Id: <1553581011-94181-1-git-send-email-wenzhuo.lu@intel.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1551340136-83843-1-git-send-email-wenzhuo.lu@intel.com> References: <1551340136-83843-1-git-send-email-wenzhuo.lu@intel.com> Subject: [dpdk-dev] [PATCH v7 0/8] Support vector instructions on ICE 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" Use SSE and AVX2 instructions in ICE RX and TX path. --- v2: - Updated feature doc. - Fixed checklog and checkpatch issues. v3: - Fixed potential compile issue on non-X86 platform. v4: - Removed compile configure, CONFIG_RTE_LIBRTE_ICE_INC_VECTOR. - Fixed checkpatch warnings. - Added more explanation of vector path in the device document. - Some other minor change. v5: - Fixed a compile issue. - Fixed a doc build warning. v6: - Added prefix "ice_" for ICE specific functions. - Added unlikely for rarely used code. v7: - Reserved the original buffer release functions. Wenzhuo Lu (8): net/ice: fix Tx function setting net/ice: add pointer for queue buffer release net/ice: support vector SSE in RX net/ice: support Rx scatter SSE vector net/ice: support Tx SSE vector net/ice: support Rx AVX2 vector net/ice: support Rx scatter AVX2 vector net/ice: support vector AVX2 in TX doc/guides/nics/features/ice_vec.ini | 35 ++ doc/guides/nics/ice.rst | 18 + doc/guides/rel_notes/release_19_05.rst | 4 + drivers/net/ice/Makefile | 22 + drivers/net/ice/ice_ethdev.c | 3 +- drivers/net/ice/ice_ethdev.h | 2 + drivers/net/ice/ice_rxtx.c | 92 +++- drivers/net/ice/ice_rxtx.h | 39 +- drivers/net/ice/ice_rxtx_vec_avx2.c | 844 +++++++++++++++++++++++++++++++++ drivers/net/ice/ice_rxtx_vec_common.h | 293 ++++++++++++ drivers/net/ice/ice_rxtx_vec_sse.c | 660 ++++++++++++++++++++++++++ drivers/net/ice/meson.build | 19 + 12 files changed, 2023 insertions(+), 8 deletions(-) create mode 100644 doc/guides/nics/features/ice_vec.ini create mode 100644 drivers/net/ice/ice_rxtx_vec_avx2.c create mode 100644 drivers/net/ice/ice_rxtx_vec_common.h create mode 100644 drivers/net/ice/ice_rxtx_vec_sse.c