From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 613EBA00E6 for ; Thu, 8 Aug 2019 12:35:04 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5DAFB1BD4F; Thu, 8 Aug 2019 12:35:03 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 8064B1BCBD for ; Thu, 8 Aug 2019 12:35:01 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Aug 2019 03:33:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,360,1559545200"; d="scan'208";a="176481091" Received: from irsmsx152.ger.corp.intel.com ([163.33.192.66]) by fmsmga007.fm.intel.com with ESMTP; 08 Aug 2019 03:33:56 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.164]) by IRSMSX152.ger.corp.intel.com ([169.254.6.27]) with mapi id 14.03.0439.000; Thu, 8 Aug 2019 11:33:55 +0100 From: "Ananyev, Konstantin" To: Jerin Jacob Kollanukkaran , "Pavan Nikhilesh Bhagavatula" , "stephen@networkplumber.org" , "arybchenko@solarflare.com" , "hemant.agrawal@nxp.com" , "thomas@monjalon.net" , "Yigit, Ferruh" , "Richardson, Bruce" , Neil Horman , "Mcnamara, John" , "Kovacevic, Marko" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [patch v3] doc: announce API change in ethdev offload flags Thread-Index: AQHVTceV2pPltlQueEKmYkOKhhENaqbw9/aQ///8DYCAABJmkP//89kAgAARl1A= Date: Thu, 8 Aug 2019 10:33:54 +0000 Message-ID: <2601191342CEEE43887BDE71AB9772580168A63A1B@irsmsx105.ger.corp.intel.com> References: <20190808081752.516-1-pbhagavatula@marvell.com> <20190808085859.796-1-pbhagavatula@marvell.com> <2601191342CEEE43887BDE71AB9772580168A63989@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB9772580168A639E4@irsmsx105.ger.corp.intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzExNThhZWQtMzc5OS00Mzg0LWI4N2ItYjFlYzk1Njg5NDRiIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWnlrSFwvbFdOeWlcL2M4XC82alJKcXNIcEtGaW1wTGFxcThqUG1pTmZSMVBmb1ZLNE1QK0JYN1hmMTJhd1NsSzJkOSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [patch v3] doc: announce API change in ethdev offload flags X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: Jerin Jacob Kollanukkaran [mailto:jerinj@marvell.com] > Sent: Thursday, August 8, 2019 11:23 AM > To: Ananyev, Konstantin ; Pavan Nikhilesh B= hagavatula ; > stephen@networkplumber.org; arybchenko@solarflare.com; hemant.agrawal@nxp= .com; thomas@monjalon.net; Yigit, Ferruh > ; Richardson, Bruce ;= Neil Horman ; Mcnamara, John > ; Kovacevic, Marko > Cc: dev@dpdk.org > Subject: RE: [dpdk-dev] [patch v3] doc: announce API change in ethdev off= load flags >=20 > > -----Original Message----- > > From: Ananyev, Konstantin > > Sent: Thursday, August 8, 2019 3:39 PM > > To: Jerin Jacob Kollanukkaran ; Pavan Nikhilesh > > Bhagavatula ; stephen@networkplumber.org; > > arybchenko@solarflare.com; hemant.agrawal@nxp.com; > > thomas@monjalon.net; Yigit, Ferruh ; Richardson= , > > Bruce ; Neil Horman > > ; Mcnamara, John ; > > Kovacevic, Marko > > Cc: dev@dpdk.org > > Subject: [EXT] RE: [dpdk-dev] [patch v3] doc: announce API change in et= hdev > > offload flags > > > > External Email > > > > ---------------------------------------------------------------------- > > Hi Jerin, >=20 > Hi Konstantin, >=20 >=20 > > > > > > > > > > Hi guys, > > > > > > > > > > > > > > From: Pavan Nikhilesh > > > > > > > > > > Add new offload flags ``DEV_RX_OFFLOAD_PTYPE``, > > > > ``DEV_RX_OFFLOAD_RSS`` > > > > > and ``DEV_RX_OFFLOAD_FLOW_MARK``. > > > > > > > > > > Signed-off-by: Pavan Nikhilesh > > > > > Acked-by: Andrew Rybchenko > > > > > Acked-by: Jerin Jacob > > > > > --- > > > > > v3 Changes: > > > > > - DEV_RX_OFFLOAD_RSS -> DEV_RX_OFFLOAD_RSS_HASH (anndrew). > > > > > > > > > > v2 Changes: > > > > > - Reword for clarity. > > > > > > > > > > doc/guides/rel_notes/deprecation.rst | 13 +++++++++++++ > > > > > 1 file changed, 13 insertions(+) > > > > > > > > > > diff --git a/doc/guides/rel_notes/deprecation.rst > > > > > b/doc/guides/rel_notes/deprecation.rst > > > > > index 37b8592b6..056c5709f 100644 > > > > > --- a/doc/guides/rel_notes/deprecation.rst > > > > > +++ b/doc/guides/rel_notes/deprecation.rst > > > > > @@ -78,3 +78,16 @@ Deprecation Notices > > > > > to set new power environment if power environment was already > > > > initialized. > > > > > In this case the function will return -1 unless the environmen= t > > > > > is unset > > > > first > > > > > (using ``rte_power_unset_env``). Other function usage scenario= s > > > > > will not > > > > change. > > > > > + > > > > > +* ethdev: New offload flags ``DEV_RX_OFFLOAD_PTYPE``, > > > > > +``DEV_RX_OFFLOAD_RSS_HASH`` > > > > > + and ``DEV_RX_OFFLOAD_FLOW_MARK`` will be added in 19.11. > > > > > > > > One question about DEV_RX_OFFLOAD_PTYPE: > > > > Does it mean that new ol_flags value (PKT_RX_PTYPE) will be > > > > introduced to indicate that mbuf.packet_type value is set? > > > > Or PMD will have to set mbuf.packet_type to zero, when > > > > DEV_RX_OFFLOAD_PTYPE was not enabled by user? > > > > > > I was thinking when DEV_RX_OFFLOAD_PTYPE is set > > > - mbuf.packet_type will be valid and mbuf.packet_type will have parse= d > > packet type. > > > If not set > > > - mbuf.packet_type can be anything application should not use > > mbuf.packet_type field. > > > > But in that case, we do need a new value for ol_flags, PKT_RX_PTYPE or = so, > > right? >=20 > Since application has two knobs rte_eth_dev_get_supported_ptypes() and > DEV_RX_OFFLOAD_PTYPE. We may not need to new ol_flags for this change. Ri= ght? > i.e if application sets the DEV_RX_OFFLOAD_PTYPE, The application will > get the parsed ptypes by the driver(=3D rte_eth_dev_get_supported_ptypes(= )). > So there is no scope ambiguity. Right? I still think there is: Imagine user has 2 eth devices, one does support DEV_RX_OFFLOAD_PTYPE, second doesn't. Now he has a mix of packets from both devices, that you wa= nt t process. How would he figure out for which of them ptype values are valid, and for e= ach are not? Trace back from what port he has received them?=20 Not very convenient, and not always possible. I think we need either to introduce new ol_flag value (as we usually do for= other RX offloads), or force PMD to always set ptype value. =20 Konstantin >=20 >=20 > > > > > > > > This will avoid writes 0 to mbuf.packet_type and packet_type parsing = if > > offload is not set. > > > > > > > > > > If so, what is the advantage? > > > > Again in that case, would it be more plausible to introduce somethi= ng like: > > > > rte_eth_dev_set_supported_ptypes(uint16_t port_id, uint32_t > > > > ptype_mask); instead of DEV_RX_OFFLOAD_PTYPE? > > > > > > Any scheme is fine where we can skip the write 0 to mbuf.packet_type > > > and packet_type parsing If application is NOT interested in packet_ty= pe. > > > > > > > Konstantin > > > > > > > > > + This will allow application to enable or disable PMDs from > > > > > + updating ``rte_mbuf`` fields ``rte_mbuf::packet_type``, > > > > > + ``rte_mbuf::hash::rss`` and ``rte_mbuf::hash::fdir`` respectiv= ely. > > > > > + This scheme will allow PMDs to avoid writes to ``rte_mbuf`` > > > > > + fields on Rx and thereby improve Rx performance if application > > wishes do so. > > > > > + In 19.11 PMDs will still update the fields even when the > > > > > + offloads are not enabled. > > > > > + The exact semantics of the flags will be worked out later > > > > > + either by making them negative offloads to avoid application > > > > > + change or positive offload to align with existing offload flag > > semantics. > > > > > -- > > > > > 2.17.1