From patchwork Fri Aug 12 18:15:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wang, YuanX" X-Patchwork-Id: 114901 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4CDAAA0543; Fri, 12 Aug 2022 12:31:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E87D8406A2; Fri, 12 Aug 2022 12:31:06 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 6891040685 for ; Fri, 12 Aug 2022 12:31:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660300265; x=1691836265; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Qigol1VFlTcBEtNUY82lQ+jmuECkE8OBEULA1vVvVzY=; b=b4GblJbfKiiAH7PTlR0Ic3Ss02j+5CUNoHPjIRIxdYpnGZ88uZ/LkWAp DjTH02Q5eJOv4H9O7iAATNeOfuJDFXqlFdU4iypxiwqaFy34gMOyyxsb2 zTM/5a9OnxRsSNkmOP1Btht33W0YsQHujyguf04qkLvzGaYZteXHzu77h 4FdI5u5wbjuowEao5u7LvyCa/bkQ/7c/Okj+ORJTKvuHaH5e9EBoBCQjQ /TJWH8plrnL1tTFDM5KW54MjgBP7pp3DvIeU2Oc4BSrlwUsmOO37j+kcV aBmjfJJBvi6R3j6y0TPM9nU9eXFQbMHCXZKJKrxaQoimJhip07ClpAFE8 A==; X-IronPort-AV: E=McAfee;i="6400,9594,10436"; a="274625158" X-IronPort-AV: E=Sophos;i="5.93,231,1654585200"; d="scan'208";a="274625158" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2022 03:31:04 -0700 X-IronPort-AV: E=Sophos;i="5.93,231,1654585200"; d="scan'208";a="665775476" Received: from unknown (HELO localhost.localdomain) ([10.239.252.55]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2022 03:31:00 -0700 From: Yuan Wang To: thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru, xiaoyun.li@intel.com, ferruh.yigit@xilinx.com, aman.deep.singh@intel.com, yuying.zhang@intel.com, qi.z.zhang@intel.com, jerinjacobk@gmail.com, viacheslavo@nvidia.com, mdr@ashroe.eu Cc: stephen@networkplumber.org, xuan.ding@intel.com, wenxuanx.wu@intel.com, dev@dpdk.org, Yuan Wang Subject: [PATCH 0/4] support protocol based buffer split Date: Sat, 13 Aug 2022 02:15:48 +0800 Message-Id: <20220812181552.2908067-1-yuanx.wang@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Protocol type based buffer split consists of splitting a received packet into several separate segments based on the packet content. It is useful in some scenarios, such as GPU acceleration. The splitting will help to enable true zero copy and hence improve the performance significantly. This patchset aims to support protocol header split based on current buffer split. When Rx queue is configured with RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT offload and corresponding protocol, packets received will be directly split into different mempools. Yuan Wang (4): ethdev: introduce protocol header API ethdev: introduce protocol hdr based buffer split app/testpmd: add rxhdrs commands and parameters net/ice: support buffer split in Rx path app/test-pmd/cmdline.c | 123 +++++++++++++- app/test-pmd/config.c | 70 ++++++++ app/test-pmd/parameters.c | 16 +- app/test-pmd/testpmd.c | 6 +- app/test-pmd/testpmd.h | 6 + doc/guides/rel_notes/release_22_11.rst | 14 ++ drivers/net/ice/ice_ethdev.c | 35 +++- drivers/net/ice/ice_rxtx.c | 220 +++++++++++++++++++++---- drivers/net/ice/ice_rxtx.h | 16 ++ drivers/net/ice/ice_rxtx_vec_common.h | 3 + lib/ethdev/ethdev_driver.h | 15 ++ lib/ethdev/rte_ethdev.c | 88 ++++++++-- lib/ethdev/rte_ethdev.h | 41 ++++- lib/ethdev/version.map | 3 + 14 files changed, 606 insertions(+), 50 deletions(-)