DPDK patches and discussions
 help / color / mirror / Atom feed
From: Slava Ovsiienko <viacheslavo@nvidia.com>
To: Ferruh Yigit <ferruh.yigit@xilinx.com>,
	"Ding, Xuan" <xuan.ding@intel.com>,
	"NBU-Contact-Thomas Monjalon (EXTERNAL)" <thomas@monjalon.net>,
	"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>
Cc: "mdr@ashroe.eu" <mdr@ashroe.eu>, "dev@dpdk.org" <dev@dpdk.org>,
	"stephen@networkplumber.org" <stephen@networkplumber.org>,
	"mb@smartsharesystems.com" <mb@smartsharesystems.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"asekhar@marvell.com" <asekhar@marvell.com>,
	"pbhagavatula@marvell.com" <pbhagavatula@marvell.com>,
	"grive@u256.net" <grive@u256.net>
Subject: RE: [PATCH] doc: announce header split deprecation
Date: Thu, 14 Jul 2022 16:56:16 +0000	[thread overview]
Message-ID: <DM6PR12MB3753739D6881D1A624F53F16DF889@DM6PR12MB3753.namprd12.prod.outlook.com> (raw)
In-Reply-To: <f252bc8c-98a2-7680-ca8c-e4b40987852f@xilinx.com>

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@xilinx.com>
> Sent: Thursday, July 14, 2022 18:58
> To: Ding, Xuan <xuan.ding@intel.com>; NBU-Contact-Thomas Monjalon (EXTERNAL)
> <thomas@monjalon.net>; andrew.rybchenko@oktetlabs.ru; Slava Ovsiienko
> <viacheslavo@nvidia.com>
> Cc: mdr@ashroe.eu; dev@dpdk.org; stephen@networkplumber.org;
> mb@smartsharesystems.com; Zhang, Qi Z <qi.z.zhang@intel.com>;
> asekhar@marvell.com; pbhagavatula@marvell.com; grive@u256.net
> Subject: Re: [PATCH] doc: announce header split deprecation
> 
> On 7/14/2022 3:07 PM, Ding, Xuan wrote:
> > Hi,
> >
> >> -----Original Message-----
> >> From: Thomas Monjalon <thomas@monjalon.net>
> >> Sent: Thursday, July 14, 2022 9:25 PM
> >> To: Ding, Xuan <xuan.ding@intel.com>; andrew.rybchenko@oktetlabs.ru;
> >> ferruh.yigit@xilinx.com
> >> Cc: mdr@ashroe.eu; dev@dpdk.org; stephen@networkplumber.org;
> >> mb@smartsharesystems.com; dev@dpdk.org; Zhang, Qi Z
> >> <qi.z.zhang@intel.com>; asekhar@marvell.com;
> >> pbhagavatula@marvell.com; grive@u256.net
> >> Subject: Re: [PATCH] doc: announce header split deprecation
> >>
> >> 14/07/2022 14:54, Ding, Xuan:
> >>> Hi,
> >>>
> >>> From: Thomas Monjalon <thomas@monjalon.net>
> >>>> 14/07/2022 07:50, Ding, Xuan:
> >>>>> From: Thomas Monjalon <thomas@monjalon.net>
> >>>>>> 23/05/2022 16:20, xuan.ding@intel.com:
> >>>>>>> From: Xuan Ding <xuan.ding@intel.com>
> >>>>>>>
> >>>>>>> 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 <xuan.ding@intel.com>
> >>>>>>> ---
> >>>>>>>   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-w
> >>> enxuanx.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.
> >
> > Thanks for your clarification. It's clearer now.
> > I was trying to figure out the whole history of header split, seems it
> > is not enough.
> >
> 
> Isn't the intention of 'RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT' &
> 'RTE_ETH_RX_OFFLOAD_HEADER_SPLIT' are different?
> Cc'ed Slava for more comment.

Hi, thank you for Cc'ing

Yes, you are right, we have two splitting offloads, and these ones have
the different intentions. As there are no PMDs actually handling
RTE_ETH_RX_OFFLOAD_HEADER_SPLIT, there should be no objections for this deprecation.

Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>



  parent reply	other threads:[~2022-07-14 16:56 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-23 14:20 xuan.ding
2022-05-24 14:58 ` Ray Kinsella
2022-07-12 11:43   ` Andrew Rybchenko
2022-07-13  9:49 ` Thomas Monjalon
2022-07-14  5:50   ` Ding, Xuan
2022-07-14  8:08     ` Thomas Monjalon
2022-07-14 12:54       ` Ding, Xuan
2022-07-14 13:25         ` Thomas Monjalon
2022-07-14 14:07           ` Ding, Xuan
2022-07-14 15:58             ` Ferruh Yigit
2022-07-14 16:03               ` Ferruh Yigit
2022-07-15  8:52                 ` Ding, Xuan
2022-07-14 16:56               ` Slava Ovsiienko [this message]
2022-07-15  8:28                 ` Ding, Xuan
2022-07-15 11:34                   ` Ferruh Yigit
2022-07-15 12:43                     ` Ding, Xuan
2022-07-15 12:13           ` Andrew Rybchenko
2022-07-15 12:44             ` Ding, Xuan
2022-07-15 20:30 ` [PATCH v2] " xuan.ding
2022-07-16 21:28   ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM6PR12MB3753739D6881D1A624F53F16DF889@DM6PR12MB3753.namprd12.prod.outlook.com \
    --to=viacheslavo@nvidia.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=asekhar@marvell.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@xilinx.com \
    --cc=grive@u256.net \
    --cc=mb@smartsharesystems.com \
    --cc=mdr@ashroe.eu \
    --cc=pbhagavatula@marvell.com \
    --cc=qi.z.zhang@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    --cc=xuan.ding@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).