Message ID | 20220902191027.666923-1-yuanx.wang@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 B2B83A0547; Fri, 2 Sep 2022 13:23:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5215940695; Fri, 2 Sep 2022 13:23:05 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id B6EC840693 for <dev@dpdk.org>; Fri, 2 Sep 2022 13:23:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662117784; x=1693653784; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=A8yqTztD6KMcoXDFg5SPM6wqzR+rZTLOWZ7UYdfH23g=; b=h3jBK+Grm0oX+NX14D0yGyA/1TlOnpg6J61zHqZxiW00PcUPeDL8Hfgv OxHGB+A33HWJ77tXb7JSgACTjoSoAGCdBVyCWp8LBQBQoijgXFj51gFgi +qdjetFjKMwwpkbaEQLW+p+tY+oowzykSXzdMBhgVMODtNrqeiwB0hjAD +wwCXxnuOuR6pBJh+bful7kI3d8CyRQ+ofDVV8vStG1iz1GLKaQuW/Ag2 FGp+RqYyW6EBy1H3f2lKT1uLaPtmgaM9Vru4Kx/23VxR4IKUW6bS9Gsll sb+LwMnkJjwJ0muByuLiMGHDwqTRo3CiLBvb2pYyi1QD1r34MM8bz5kbe w==; X-IronPort-AV: E=McAfee;i="6500,9779,10457"; a="282946498" X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="282946498" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 04:23:02 -0700 X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="674320851" Received: from unknown (HELO localhost.localdomain) ([10.239.252.55]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 04:22:58 -0700 From: Yuan Wang <yuanx.wang@intel.com> To: dev@dpdk.org Cc: thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru, ferruh.yigit@xilinx.com, mdr@ashroe.eu, xiaoyun.li@intel.com, aman.deep.singh@intel.com, yuying.zhang@intel.com, qi.z.zhang@intel.com, qiming.yang@intel.com, jerinjacobk@gmail.com, viacheslavo@nvidia.com, stephen@networkplumber.org, xuan.ding@intel.com, hpothula@marvell.com, yaqi.tang@intel.com, Yuan Wang <yuanx.wang@intel.com> Subject: [PATCH v3 0/4] support protocol based buffer split Date: Sat, 3 Sep 2022 03:10:23 +0800 Message-Id: <20220902191027.666923-1-yuanx.wang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220812181552.2908067-1-yuanx.wang@intel.com> References: <20220812181552.2908067-1-yuanx.wang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series | support protocol based buffer split | |
Message
Wang, YuanX
Sept. 2, 2022, 7:10 p.m. UTC
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. Change log: v3: Fix mail thread. v2: Add mbuf dump to the driver's buffer split path. Add buffer split to the driver feature list. Remove unsupported header protocols from the driver. 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 | 2 + app/test-pmd/testpmd.h | 6 + doc/guides/nics/features/ice.ini | 1 + doc/guides/rel_notes/release_22_11.rst | 14 ++ drivers/net/ice/ice_ethdev.c | 30 +++- 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 + 15 files changed, 600 insertions(+), 48 deletions(-)