On Tue, 6 Aug 2019 12:06:35 +0300 Andrew Rybchenko <arybche...@solarflare.com> wrote:
> On 8/6/19 11:47 AM, Pavan Nikhilesh Bhagavatula wrote: > > > >> -----Original Message----- > >> From: Hemant Agrawal <hemant.agra...@nxp.com> > >> Sent: Tuesday, August 6, 2019 1:49 PM > >> To: Pavan Nikhilesh Bhagavatula <pbhagavat...@marvell.com>; Jerin > >> Jacob Kollanukkaran <jer...@marvell.com> > >> Cc: dev@dpdk.org > >> Subject: RE: [dpdk-dev] [RFC 0/3] ethdev: add ptype as Rx offload > >>> Add PTYPE to DEV_RX_OFFLOAD_* flags. > >>> > >>> Currently, most of the NICs already support PTYPE parsing and update > >> the > >>> mbuf->packet_type through an internal lookup table, but there is no > >> way to > >>> disable the lookup if the application is not intrested in ptypes > >> returned by > >>> `rte_eth_dev_get_supported_ptypes`. > >>> > >> [Hemant] it will also mean introducing another check in datapath, if the > >> application has asked for PTYPE offload - copy the results to mbuf- > >>> packet_type otherwise don't do it. > > I think that having the check would give better performance than loading > > ptype table to L1 > > doing a lookup and copying it to mbuf when the application doesn't need > > it. > > Anyway, if PMD decides that it is better to always provide packet type > information - there is no harm. Basically if the offload is not requested > it makes packet_type undefined in mbuf. > > >> Your second patch is incomplete in the sense that it only adds the > >> capability. But it does not disable the lookups? > > It is upto the maintainer of the PMD to disable the lookup in data path. If > > there is a scope of optimization > > then they could do it. There is no harm in exposing PTYPE even > > RX_OFFLOAD_PTYPE is not enabled. > > I was hesitant to touch data path as it would be impossible to verify > > performance effect on all NICs. > > I think it is the right way to approach it especially taking transition > into account. > With hardline API policy, this has to fail on compile for old applications. You can't magically assume that applications using ptype will set new feature.