> -----Original Message----- > From: dev [mailto:[email protected]] On Behalf Of Shahaf Shuler > Sent: Wednesday, March 21, 2018 1:06 PM > To: Yigit, Ferruh <[email protected]>; Andrew Rybchenko > <[email protected]>; Mcnamara, John > <[email protected]>; Kovacevic, Marko <[email protected]> > Cc: [email protected]; Thomas Monjalon <[email protected]>; [email protected]; > Harish <[email protected]>; Ivan Malov > <[email protected]> > 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

