[dpdk-dev] [PATCH] doc: update new ethdev offload API description

Ananyev, Konstantin konstantin.ananyev at intel.com
Wed Mar 21 14:11:43 CET 2018



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Shahaf Shuler
> Sent: Wednesday, March 21, 2018 1:06 PM
> To: Yigit, Ferruh <ferruh.yigit at intel.com>; Andrew Rybchenko <arybchenko at solarflare.com>; Mcnamara, John
> <john.mcnamara at intel.com>; Kovacevic, Marko <marko.kovacevic at intel.com>
> Cc: dev at dpdk.org; Thomas Monjalon <thomas at monjalon.net>; Patil at dpdk.org; Harish <harish.patil at cavium.com>; Ivan Malov
> <Ivan.Malov at oktetlabs.ru>
> Subject: Re: [dpdk-dev] [PATCH] doc: update new ethdev offload API description
> 
> Wednesday, March 21, 2018 2:52 PM, Ferruh Yigit:
> > On 3/21/2018 11:40 AM, Shahaf Shuler wrote:
> > > Wednesday, March 21, 2018 1:37 PM, Andrew Rybchenko:
> > >> On 03/21/2018 02:23 PM, Shahaf Shuler wrote:
> > >>>
> > >>> Wednesday, March 21, 2018 1:20 PM, *:*Andrew Rybchenko
> > >>>
> > >>>> Not exactly. We should add statement to allow to enable queue
> > >>>> offloads on port level (to enable on all queues).
> > >>>
> > >>> Why it is needed ?
> > >>>
> > >>
> > >> May be just a paranoia to avoid misreading/misunderstanding.
> > >>
> > >>> Queue offload is also a port offload, for the simple case it is
> > >>> enabled on each of the queues.
> > >>>
> > >>> PMDs should report rx[tx]_offload_capa = port_offloads |
> > >>> queue_offloads
> > >>>
> > >>> So from the application side it enables a **port** offload which, by
> > >>> definition, will set the offload to each of the queues.
> > >>>
> > >>> it is not “enabling queue offload on the port”.
> > >>>
> > >>
> > >> I think it would be really useful for understanding to highlight that
> > >> what is enabled on port level is enabled on all queues regardless queue
> > conf.
> > >
> > > So I think the extra wording should explain that queue offload is also a port
> > offload, and not to mix between the queue and port offload configuration.
> >
> > +1 for more details, the sentences was the outcome of the previous
> > +discussion
> > but not clear enough. Perhaps some sample values can be also good.
> > Shahaf do you want to give a try?
> 
> IMO what is missing is:
> 1. the syntax of this patch
> 2. explicitly write that queue offloads are always subset of the port offload
> 3. explicitly write that when port offload is enabled it applies to all queues (that one is already written AFAIR).

For me examples below seems quite handy.
It clearly shows that queue_setup() can do both: enable and disable any per-queue offload. 
Konstantin

> 
> >
> > And is following correct based on latest :
> > 1- Port capability is always covers queue capability P_cap = A, B, C, D Q_cap =
> > B, C, D
> >
> > 2- Requested port offloads should be subset of port capabilities, they will be
> > applied to all queues:
> > P_req = A, B
> > Q1: A, B
> > Q2: A, B
> >
> > 3- Later, requested queue offloads should be subset of queue capabilities,
> > they will be applied to specific queue:
> > Q_req = 1:B, C
> > Q1: A, B, C
> > Q2: A, B
> >
> > Q_req = 2:D
> > Q1: A, B, C
> > Q2: A, D
> >
> >
> > Scenario 2:
> > 1-
> > P_cap = A, B, C, D
> > Q_cap = ""
> >
> > 2-
> > P_req = A, B
> > Q1: A, B
> > Q2: A, B
> >
> > 3-
> > Q_req = ""
> > Q1: A, B
> > Q2: A, B



More information about the dev mailing list