From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05713C433EF for ; Fri, 15 Jul 2022 12:13:55 +0000 (UTC) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1751240A87; Fri, 15 Jul 2022 14:13:55 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id 985B640696 for ; Fri, 15 Jul 2022 14:13:53 +0200 (CEST) Received: from [192.168.1.39] (unknown [188.170.75.69]) (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 55B55CB; Fri, 15 Jul 2022 15:13:52 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 55B55CB DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1657887233; bh=slIcA8mDAO6v+CiTsFS90uyqknIBZb3YLoTrfneY/w8=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=URCfdpx85YX2HuJplXZn4SEQMyKTkkK1jLx7IJb6PvaFt2AgxC8FJgJ6Spn/qNFRq T/z5crBXlywiTHN4Faso9jP46oP3Bu2Z/4n/A6148Mt/q1SU3xQOJ+MsRaZmTn+Jz1 EorwQY8ZUciyI+BIPZVcVH0HBzfi14zd8PkMQwKA= Message-ID: <3d566ce1-bd7d-ad4a-2d79-e443927687fb@oktetlabs.ru> Date: Fri, 15 Jul 2022 15:13:45 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH] doc: announce header split deprecation Content-Language: en-US To: Thomas Monjalon , "Ding, Xuan" , "ferruh.yigit@xilinx.com" Cc: "mdr@ashroe.eu" , "dev@dpdk.org" , "stephen@networkplumber.org" , "mb@smartsharesystems.com" , "Zhang, Qi Z" , "asekhar@marvell.com" , "pbhagavatula@marvell.com" , "grive@u256.net" References: <20220523142016.44451-1-xuan.ding@intel.com> <6226385.mzcYPaeBD7@thomas> <5613126.F5Vx1aKkY9@thomas> From: Andrew Rybchenko In-Reply-To: <5613126.F5Vx1aKkY9@thomas> 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 7/14/22 16:25, Thomas Monjalon wrote: > 14/07/2022 14:54, Ding, Xuan: >> Hi, >> >> From: Thomas Monjalon >>> 14/07/2022 07:50, Ding, Xuan: >>>> From: Thomas Monjalon >>>>> 23/05/2022 16:20, xuan.ding@intel.com: >>>>>> From: Xuan Ding >>>>>> >>>>>> RTE_ETH_RX_OFFLOAD_HEADER_SPLIT offload was introduced some >>> time >>>>> ago >>>>>> to substitute bit-field header_split in struct rte_eth_rxmode. It >>>>>> allows to enable header split offload with the header size >>>>>> controlled using split_hdr_size in the same structure. >>>>>> >>>>>> Right now, no single PMD actually supports >>>>>> RTE_ETH_RX_OFFLOAD_HEADER_SPLIT with above definition. Many >>>>>> examples and test apps initialize the field to 0 explicitly. The >>>>>> most of drivers simply ignore split_hdr_size since the offload is >>>>>> not advertised, but >>>>> some double-check that its value is 0. >>>>>> >>>>>> So the RTE_ETH_RX_OFFLOAD_HEADER_SPLIT and split_header_size >>> field >>>>>> will be removed in DPDK 22.11. >>>>>> >>>>>> Signed-off-by: Xuan Ding >>>>>> --- >>>>>> doc/guides/rel_notes/deprecation.rst | 4 ++++ >>>>>> 1 file changed, 4 insertions(+) >>>>>> >>>>>> diff --git a/doc/guides/rel_notes/deprecation.rst >>>>>> b/doc/guides/rel_notes/deprecation.rst >>>>>> index 4e5b23c53d..b8114f29ed 100644 >>>>>> --- a/doc/guides/rel_notes/deprecation.rst >>>>>> +++ b/doc/guides/rel_notes/deprecation.rst >>>>>> @@ -125,3 +125,7 @@ Deprecation Notices >>>>>> applications should be updated to use the ``dmadev`` library instead, >>>>>> with the underlying HW-functionality being provided by the ``ioat`` or >>>>>> ``idxd`` dma drivers >>>>>> + >>>>>> +* ethdev: After bit-field header split was removed, the >>>>>> +``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT`` >>>>>> +offload and the ``split_hdr_size`` field in structure >>>>>> +``rte_eth_rxmode`` to enable header split offload are not >>>>>> +supported in any >>>>> PMDs. They will be removed in DPDK 22.11. >>>>> >>>>> It would have been good to talk about rte_eth_rxseg_split which is >>>>> similar and configured per-queue. >>>> >>>> Thanks for your suggestion. >>>> >>>> But I'm a little confused, are you referring that I need to involve protocol >>> based buffer split? >>>> About the deprecation of header split, I haven't realized its connection to >>> rte_eth_rxseg_split. >>> >>> What??? >>> In old versions of your patch "ethdev: introduce protocol type based header >>> split" >>> you wrote: >>> " >>> A new proto field is introduced in the >>> rte_eth_rxseg_split structure reserved field to specify header protocol type. >>> With Rx offload flag RTE_ETH_RX_OFFLOAD_HEADER_SPLIT enabled and >>> protocol type configured, PMD will split the ingress packets into two separate >>> regions. >>> " >> >> It has a long history... >> It was corrected in v4 that RTE_ETH_RX_OFFLOAD_HEADER_SPLIT is used to enable header >> split offload with the header size controlled using "split_hdr_size". >> But no single PMD actually supports RTE_ETH_RX_OFFLOAD_HEADER_SPLIT for this purpose. >> So we finally decide to deprecate this flag. >> >> http://patchwork.dpdk.org/project/dpdk/patch/20220402104109.472078-2-wenxuanx.wu@intel.com/ >> >> In following series, I use RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT instead. It is for multi-segments packet >> split. And it still needs a "proto_hdr" field in rte_eth_rxmode to configure split location. > > I know this history because I was the one asking you to deprecate this. > But it seems you didn't get the big picture. > >>>> Currently there are 2 acks, add more PMD maintainers to help review >>>> this deprecation notice for header split, thanks a lot! >>> >>> I cannot say my feeling strong enough. >> >> So IMO the deprecation for header split is not relevant with buffer split. But we can still clean the code. >> Hope it make things clearer. > > They are almost the same features. > So when deprecating one, it is important to mention what remains. > If needed RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT can still be used > and it is configured per-queue, > while RTE_ETH_RX_OFFLOAD_HEADER_SPLIT was configurable per-port. > > Andrew, Ferruh, do you agree to improve this deprecation notice > by adding above information? +1 tt is definitely a very good idea.