> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Shahaf Shuler > Sent: Wednesday, March 21, 2018 1:06 PM > To: Yigit, Ferruh <ferruh.yi...@intel.com>; Andrew Rybchenko > <arybche...@solarflare.com>; Mcnamara, John > <john.mcnam...@intel.com>; Kovacevic, Marko <marko.kovace...@intel.com> > Cc: dev@dpdk.org; Thomas Monjalon <tho...@monjalon.net>; pa...@dpdk.org; > Harish <harish.pa...@cavium.com>; Ivan Malov > <ivan.ma...@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