From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 080ED2BF7 for ; Thu, 23 Aug 2018 14:04:17 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Aug 2018 05:04:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,278,1531810800"; d="scan'208";a="84282421" Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.56]) ([10.237.221.56]) by orsmga001.jf.intel.com with ESMTP; 23 Aug 2018 05:04:05 -0700 To: Andrew Rybchenko , Jerin Jacob , "Ananyev, Konstantin" Cc: Thomas Monjalon , "dev@dpdk.org" , "shahafs@mellanox.com" References: <20180729124409.3669-1-jerin.jacob@caviumnetworks.com> <2601191342CEEE43887BDE71AB977258DF51F641@irsmsx105.ger.corp.intel.com> <20180730093555.GA22823@jerin> <1687236.JLa48GYJ5r@xps> <2601191342CEEE43887BDE71AB977258DF51F702@irsmsx105.ger.corp.intel.com> <20180730111823.GA30059@jerin> <2601191342CEEE43887BDE71AB977258DF51F775@irsmsx105.ger.corp.intel.com> <20180730144031.GA14898@jerin> <3cbcc295-1b3c-fd22-f5ae-0478f370ab68@solarflare.com> From: Ferruh Yigit Openpgp: preference=signencrypt Message-ID: <12da8739-2e73-4e66-65f5-5b21f14ad6c5@intel.com> Date: Thu, 23 Aug 2018 13:04:04 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <3cbcc295-1b3c-fd22-f5ae-0478f370ab68@solarflare.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] examples: remove Rx checksum offload 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: , X-List-Received-Date: Thu, 23 Aug 2018 12:04:18 -0000 On 7/30/2018 4:30 PM, Andrew Rybchenko wrote: > On 30.07.2018 17:40, Jerin Jacob wrote: >> -----Original Message----- >>> Date: Mon, 30 Jul 2018 14:12:12 +0000 >>> From: "Ananyev, Konstantin" >>> To: Jerin Jacob >>> CC: Thomas Monjalon , "dev@dpdk.org" , >>> "Yigit, Ferruh" , "shahafs@mellanox.com" >>> >>> Subject: RE: [dpdk-dev] [PATCH] examples: remove Rx checksum offload >>> >>> >>>> -----Original Message----- >>>>> Date: Mon, 30 Jul 2018 11:00:02 +0000 >>>>> From: "Ananyev, Konstantin" >>>>> To: Thomas Monjalon , Jerin Jacob >>>>> >>>>> CC: "dev@dpdk.org" , "Yigit, Ferruh" >>>>> , "shahafs@mellanox.com" >>>>> Subject: RE: [dpdk-dev] [PATCH] examples: remove Rx checksum offload >>>>> >>>>> External Email >>>>> >>>>>> -----Original Message----- >>>>>> From: Thomas Monjalon [mailto:thomas@monjalon.net] >>>>>> Sent: Monday, July 30, 2018 10:51 AM >>>>>> To: Jerin Jacob ; Ananyev, Konstantin >>>>>> Cc: dev@dpdk.org; Yigit, Ferruh ; shahafs@mellanox.com >>>>>> Subject: Re: [dpdk-dev] [PATCH] examples: remove Rx checksum offload >>>>>> >>>>>> 30/07/2018 11:35, Jerin Jacob: >>>>>>> From: "Ananyev, Konstantin" >>>>>>>>> As of now, application does not check PKT_RX_*_CKSUM_* flags per >>>>>>>>> packet, so it does not matter DEV_RX_OFFLOAD_CHECKSUM enabled or not. >>>>>>>>> >>>>>>>>> Removing DEV_RX_OFFLOAD_CHECKSUM offload so that driver can save a few >>>>>>>>> cycles if possible. >>>>>>>> Personally, I'd move in other direction: keep RX checksum offload and add >>>>>>>> checks inside sample apps to handle (drop) packets with invalid checksum. >>>>>>> OK. Till someones add the DROP logic in application, Can we take >>>>>>> this patch? Because there is no point in enabling DEV_RX_OFFLOAD_CHECKSUM >>>>>>> without DROP or any meaning full action in application. >>>>> Probably, but at least it gives users a right estimation how long the proper >>>>> RX/TX routine would take. >>>> For estimation, application can add any flag they want in local setup. >>>> It does not need to be upstream with out feature complete. >>>> >>>>> From other side what the point to disable these flags now, if we know that >>>> At least nicvf Rx routines are crafted based DEV_RX_OFFLOAD_CHECKSUM >>>> flags. If driver Rx routine crafted such case it will be useful. >>>> >>>>> we are doing wrong thing and will have to re-enable them again in future? >>>> But it is not correct now either. Right? >>> Yes, right now invalid cksum information is simply ignored. >>> As you pointed - some PMD select RX routine based on checksum offload flags. >>> Yes, removing these flags might produce better performance numbers. >>> But from my perspective - it would be an artificial and temporary improvement, >>> as for l3fwd like apps we'll need to revert it back and add code to drop invalid packets. >> IMO, It is OK get a performance hit when do that support in l3fwd. There >> is no harm in removing the DEV_RX_OFFLOAD_CHECKSUM flag for now and it >> is correct from application perspective.(you are enabling an offload when >> you are using it, else don't enable it. I believe, this was philosophy for >> enabling Rx/Tx offloads) >> >> Since it is going in circles, I leave decision to ethdev maintainers. > > I think that IPv4 checksum offload is essential for l3fwd. So, it should be > enabled and taken into account. I'm not sure about TCP and UDP checksum > offloads. It is not l3fwd business to take a look at upper layers. > > In any case, there is no agreement on the patch and it is already RC3 stage > of the release. There is no rush to apply it since it is not a critical > bug fix. > I agree with Konstantin here. Now it is in the scope of v18.11, +1 to implement PKT_RX_*_CKSUM checks in applications instead of removing DEV_RX_OFFLOAD_CHECKSUM > > Andrew > >>> Konstantin >>> >>>>>> If there is no patch sent to use this offload on August 1st, >>>>>> then I will apply this patch to remove the offload request. >>>>>> >>>>> Isn't it too late to do such things right now? >>>>> We are in RC3 stage and doesn't look like a critical issue. >>>> Yes. We can add it when have we proper fix. Currently, it signaling a wrong >>>> interpretation to application. >>>> >>>> >>>>> Konstantin >>>>> >>>>> >