From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0F35CA0548; Thu, 2 Jun 2022 15:20:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E0E4840691; Thu, 2 Jun 2022 15:20:04 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id BA9174021E for ; Thu, 2 Jun 2022 15:20:03 +0200 (CEST) Received: from [192.168.1.126] (unknown [188.242.181.57]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id E77C4C8; Thu, 2 Jun 2022 16:20:02 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru E77C4C8 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1654176003; bh=oLAGwJmzhWJ7o0JReePvhEFRegKu8PwhtktdtjE/r0c=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=Z9BvP6HCP7KBJpllH89OWJRljcIKiXARAzHQGNvIsLbWFBFoG7LZ51jAoKBDCvXmy wT0K6wuokN0fEC3G1+plf5FHlYjPXKdn69+QtdsBJaKCFUqzBPMXOGejaSTDomUALk AzqM3U7FGFXHXHozB58ji8Wr0BUMsjsx8it+9v4Q= Message-ID: Date: Thu, 2 Jun 2022 16:20:02 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH v8 0/3] ethdev: introduce protocol type based header split Content-Language: en-US To: wenxuanx.wu@intel.com, thomas@monjalon.net, xiaoyun.li@intel.com, ferruh.yigit@xilinx.com, aman.deep.singh@intel.com, dev@dpdk.org, yuying.zhang@intel.com, qi.z.zhang@intel.com, jerinjacobk@gmail.com Cc: stephen@networkplumber.org References: <20220303060136.36427-1-xuan.ding@intel.com> <20220601135059.958882-1-wenxuanx.wu@intel.com> From: Andrew Rybchenko In-Reply-To: <20220601135059.958882-1-wenxuanx.wu@intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 On 6/1/22 16:50, wenxuanx.wu@intel.com wrote: > From: Wenxuan Wu > > Buffer split consists of splitting a received packet into two separate 'two' is misleading above. Buffer split supports many segments. > regions based on the packet content. As far as I know buffer split is not based on 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 extends the current buffer split to support multi protocol > headers split. When Rx queue is configured with buffer split feature, > packets received will be directly splitted into two different mempools. v8? > > v6->v7: > *fix supported header protocol check. > *add rxhdrs commands and parameters. > v5->v6: > *Change doc and designi of struct rte_eth_rxseg_split, support multi > segments protocol_hdr configuration. > v4->v5: > * Use protocol and mbuf_offset based buffer split instead of header split. > * Use RTE_PTYPE* instead of enum rte_eth_rx_header_split_protocol_type. > * Improve the description of rte_eth_rxseg_split.proto. > > v3->v4: > * Use RTE_ETH_RX_HEADER_SPLIT_NONE instead of 0. > > v2->v3: > * Fix a PMD bug. > * Add rx queue header split check. > * Revise the log and doc. > > v1->v2: > * Add support for all header split protocol types. > > Wenxuan Wu (3): > ethdev: introduce protocol header based buffer split > net/ice: support buffer split in Rx path > app/testpmd: add rxhdrs commands and parameters > > app/test-pmd/cmdline.c | 127 ++++++++++++++- > app/test-pmd/config.c | 81 ++++++++++ > app/test-pmd/parameters.c | 15 +- > app/test-pmd/testpmd.c | 6 +- > app/test-pmd/testpmd.h | 6 + > drivers/net/ice/ice_ethdev.c | 10 +- > 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/rte_ethdev.c | 40 ++++- > lib/ethdev/rte_ethdev.h | 28 +++- > 11 files changed, 505 insertions(+), 47 deletions(-) >