All of lore.kernel.org
 help / color / mirror / Atom feed
* ethdev new offloading API switch in PMDs
@ 2018-05-01 14:01 Ferruh Yigit
  2018-05-02  5:34 ` Shahaf Shuler
  0 siblings, 1 reply; 8+ messages in thread
From: Ferruh Yigit @ 2018-05-01 14:01 UTC (permalink / raw)
  To: Shahaf Shuler, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Qi Zhang, Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Adrien Mazarguil, Nelio Laranjeiro, Yongseok Koh, Santosh Shukla,
	Jerin Jacob, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Andrew Rybchenko, Pascal Mazon, Jerin Jacob, Maciej Czekaj, Max
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Wenzhuo Lu, Marcin Wojtas, Michal Krawczyk,
	Guy Tzalik, Evgeny Schemeilin, Bruce Richardson

Hi,

Following PMDs still has .txq_flags in use, after basic grep, no in-dept
investigation done.

With PMDs switch to new API, that flag no longer should be needed.

Old applications still use it but ethdev converts them to the offloads, so that
PMDs can only concern about offloads.

Can maintainer of following PMDs please check their offloading API implementation:

axgbe
bnxt
e1000
ena
failsafe
fm10k
i40e
ixgbe
mlx4
mlx5
octeontx
qede
sfc
tap
thunderx
virtio
vmxnet3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: ethdev new offloading API switch in PMDs
  2018-05-01 14:01 ethdev new offloading API switch in PMDs Ferruh Yigit
@ 2018-05-02  5:34 ` Shahaf Shuler
  2018-05-02  8:46   ` Ferruh Yigit
  0 siblings, 1 reply; 8+ messages in thread
From: Shahaf Shuler @ 2018-05-02  5:34 UTC (permalink / raw)
  To: Ferruh Yigit, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Qi Zhang, Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Adrien Mazarguil, Nélio Laranjeiro, Yongseok Koh,
	Santosh Shukla, Jerin Jacob, Rasesh Mody, Harish Patil,
	Shahed Shaikh, Andrew Rybchenko, Pascal Mazon, Jerin Jacob
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Wenzhuo Lu, Marcin Wojtas, Michal Krawczyk,
	Guy Tzalik, Evgeny Schemeilin, Bruce Richardson

Tuesday, May 1, 2018 5:01 PM, Ferruh Yigit:
> Subject: ethdev new offloading API switch in PMDs
> 
> Hi,
> 
> Following PMDs still has .txq_flags in use, after basic grep, no in-dept
> investigation done.
> 
> With PMDs switch to new API, that flag no longer should be needed.
> 
> Old applications still use it but ethdev converts them to the offloads, so that
> PMDs can only concern about offloads.
> 

Full removal of txq_flags can be done only after we will mitigate the "queue offloads must match port offload" constrain. 

> Can maintainer of following PMDs please check their offloading API
> implementation:
> 
> axgbe
> bnxt
> e1000
> ena
> failsafe
> fm10k
> i40e
> ixgbe
> mlx4
> mlx5
> octeontx
> qede
> sfc
> tap
> thunderx
> virtio
> vmxnet3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: ethdev new offloading API switch in PMDs
  2018-05-02  5:34 ` Shahaf Shuler
@ 2018-05-02  8:46   ` Ferruh Yigit
  2018-05-02 12:52     ` Shahaf Shuler
  0 siblings, 1 reply; 8+ messages in thread
From: Ferruh Yigit @ 2018-05-02  8:46 UTC (permalink / raw)
  To: Shahaf Shuler, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Nélio Laranjeiro, Yongseok Koh, Santosh Shukla, Jerin Jacob,
	Rasesh Mody, Harish Patil, Shahed Shaikh, Andrew Rybchenko,
	Pascal Mazon, Maciej Czekaj, Maxime Coquelin, Tiwei Bie,
	Yong Wang
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Bruce Richardson

On 5/2/2018 6:34 AM, Shahaf Shuler wrote:
> Tuesday, May 1, 2018 5:01 PM, Ferruh Yigit:
>> Subject: ethdev new offloading API switch in PMDs
>>
>> Hi,
>>
>> Following PMDs still has .txq_flags in use, after basic grep, no in-dept
>> investigation done.
>>
>> With PMDs switch to new API, that flag no longer should be needed.
>>
>> Old applications still use it but ethdev converts them to the offloads, so that
>> PMDs can only concern about offloads.
>>
> 
> Full removal of txq_flags can be done only after we will mitigate the "queue offloads must match port offload" constrain.

Why? What is the relation of the flag and constrain?
Independent from constrain all PMDs switch to new API which doesn't use
txq_flags anymore, what blocks removing it from PMDs?

> 
>> Can maintainer of following PMDs please check their offloading API
>> implementation:
>>
>> axgbe
>> bnxt
>> e1000
>> ena
>> failsafe
>> fm10k
>> i40e
>> ixgbe
>> mlx4
>> mlx5
>> octeontx
>> qede
>> sfc
>> tap
>> thunderx
>> virtio
>> vmxnet3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: ethdev new offloading API switch in PMDs
  2018-05-02  8:46   ` Ferruh Yigit
@ 2018-05-02 12:52     ` Shahaf Shuler
  2018-05-02 13:27       ` Ferruh Yigit
  0 siblings, 1 reply; 8+ messages in thread
From: Shahaf Shuler @ 2018-05-02 12:52 UTC (permalink / raw)
  To: Ferruh Yigit, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Nélio Laranjeiro, Yongseok Koh, Santosh Shukla, Jerin Jacob,
	Rasesh Mody, Harish Patil, Shahed Shaikh, Andrew Rybchenko,
	Pascal Mazon, Maciej Czekaj, Maxime Coquelin, Tiwei Bie,
	Yong Wang
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Bruce Richardson

Wednesday, May 2, 2018 11:47 AM, Ferruh Yigit:
> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
> 
> On 5/2/2018 6:34 AM, Shahaf Shuler wrote:
> > Tuesday, May 1, 2018 5:01 PM, Ferruh Yigit:
> >> Subject: ethdev new offloading API switch in PMDs
> >>
> >> Hi,
> >>
> >> Following PMDs still has .txq_flags in use, after basic grep, no
> >> in-dept investigation done.
> >>
> >> With PMDs switch to new API, that flag no longer should be needed.
> >>
> >> Old applications still use it but ethdev converts them to the
> >> offloads, so that PMDs can only concern about offloads.
> >>
> >
> > Full removal of txq_flags can be done only after we will mitigate the
> "queue offloads must match port offload" constrain.
> 
> Why? What is the relation of the flag and constrain?

The PMD has to know if to verify port offloads and queue offload correlation. 
It is done by looking on the ETH_TXQ_FLAGS_IGNORE flag.

When we mitigate the constraion/deprecate the old API we can remove this. 

> Independent from constrain all PMDs switch to new API which doesn't use
> txq_flags anymore, what blocks removing it from PMDs?
> 
> >
> >> Can maintainer of following PMDs please check their offloading API
> >> implementation:
> >>
> >> axgbe
> >> bnxt
> >> e1000
> >> ena
> >> failsafe
> >> fm10k
> >> i40e
> >> ixgbe
> >> mlx4
> >> mlx5
> >> octeontx
> >> qede
> >> sfc
> >> tap
> >> thunderx
> >> virtio
> >> vmxnet3


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: ethdev new offloading API switch in PMDs
  2018-05-02 12:52     ` Shahaf Shuler
@ 2018-05-02 13:27       ` Ferruh Yigit
  2018-05-02 13:44         ` Shahaf Shuler
  0 siblings, 1 reply; 8+ messages in thread
From: Ferruh Yigit @ 2018-05-02 13:27 UTC (permalink / raw)
  To: Shahaf Shuler, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Nélio Laranjeiro, Yongseok Koh, Santosh Shukla, Jerin Jacob,
	Rasesh Mody, Harish Patil, Shahed Shaikh, Andrew Rybchenko,
	Pascal Mazon, Maciej Czekaj, Maxime Coquelin, Tiwei Bie,
	Yong Wang
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Bruce Richardson

On 5/2/2018 1:52 PM, Shahaf Shuler wrote:
> Wednesday, May 2, 2018 11:47 AM, Ferruh Yigit:
>> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
>>
>> On 5/2/2018 6:34 AM, Shahaf Shuler wrote:
>>> Tuesday, May 1, 2018 5:01 PM, Ferruh Yigit:
>>>> Subject: ethdev new offloading API switch in PMDs
>>>>
>>>> Hi,
>>>>
>>>> Following PMDs still has .txq_flags in use, after basic grep, no
>>>> in-dept investigation done.
>>>>
>>>> With PMDs switch to new API, that flag no longer should be needed.
>>>>
>>>> Old applications still use it but ethdev converts them to the
>>>> offloads, so that PMDs can only concern about offloads.
>>>>
>>>
>>> Full removal of txq_flags can be done only after we will mitigate the
>> "queue offloads must match port offload" constrain.
>>
>> Why? What is the relation of the flag and constrain?
> 
> The PMD has to know if to verify port offloads and queue offload correlation. 
> It is done by looking on the ETH_TXQ_FLAGS_IGNORE flag.

Perhaps I am missing something but why done looking ETH_TXQ_FLAGS_IGNORE flag?

ETH_TXQ_FLAGS_IGNORE flag means application is using new API and "offloads"
variable is valid instead of "txq_flags"

ethdev uses this information to convert "txq_flags" to "offloads", for PMD
"offloads" are always valid.

PMD can check [rt]xmode->offloads (port offloads) and [rt]xq->offloads (queue
offloads) to verify between port and queue offloads. What is missing in this check?

> 
> When we mitigate the constraion/deprecate the old API we can remove this. 
> 
>> Independent from constrain all PMDs switch to new API which doesn't use
>> txq_flags anymore, what blocks removing it from PMDs?
>>
>>>
>>>> Can maintainer of following PMDs please check their offloading API
>>>> implementation:
>>>>
>>>> axgbe
>>>> bnxt
>>>> e1000
>>>> ena
>>>> failsafe
>>>> fm10k
>>>> i40e
>>>> ixgbe
>>>> mlx4
>>>> mlx5
>>>> octeontx
>>>> qede
>>>> sfc
>>>> tap
>>>> thunderx
>>>> virtio
>>>> vmxnet3
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: ethdev new offloading API switch in PMDs
  2018-05-02 13:27       ` Ferruh Yigit
@ 2018-05-02 13:44         ` Shahaf Shuler
  2018-05-02 15:18           ` Ferruh Yigit
  0 siblings, 1 reply; 8+ messages in thread
From: Shahaf Shuler @ 2018-05-02 13:44 UTC (permalink / raw)
  To: Ferruh Yigit, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Nélio Laranjeiro, Yongseok Koh, Santosh Shukla, Jerin Jacob,
	Rasesh Mody, Harish Patil, Shahed Shaikh, Andrew Rybchenko,
	Pascal Mazon, Maciej Czekaj, Maxime Coquelin, Tiwei Bie,
	Yong Wang
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Bruce Richardson

Wednesday, May 2, 2018 4:28 PM, Ferruh Yigit:
> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
> 
> On 5/2/2018 1:52 PM, Shahaf Shuler wrote:
> > Wednesday, May 2, 2018 11:47 AM, Ferruh Yigit:
> >> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
> >>
> >> On 5/2/2018 6:34 AM, Shahaf Shuler wrote:
> >>> Tuesday, May 1, 2018 5:01 PM, Ferruh Yigit:
> >>>> Subject: ethdev new offloading API switch in PMDs
> >>>>
> >>>> Hi,
> >>>>
> >>>> Following PMDs still has .txq_flags in use, after basic grep, no
> >>>> in-dept investigation done.
> >>>>
> >>>> With PMDs switch to new API, that flag no longer should be needed.
> >>>>
> >>>> Old applications still use it but ethdev converts them to the
> >>>> offloads, so that PMDs can only concern about offloads.
> >>>>
> >>>
> >>> Full removal of txq_flags can be done only after we will mitigate
> >>> the
> >> "queue offloads must match port offload" constrain.
> >>
> >> Why? What is the relation of the flag and constrain?
> >
> > The PMD has to know if to verify port offloads and queue offload
> correlation.
> > It is done by looking on the ETH_TXQ_FLAGS_IGNORE flag.
> 
> Perhaps I am missing something but why done looking
> ETH_TXQ_FLAGS_IGNORE flag?
> 
> ETH_TXQ_FLAGS_IGNORE flag means application is using new API and
> "offloads"
> variable is valid instead of "txq_flags"
> 
> ethdev uses this information to convert "txq_flags" to "offloads", for PMD
> "offloads" are always valid.
> 
> PMD can check [rt]xmode->offloads (port offloads) and [rt]xq->offloads
> (queue
> offloads) to verify between port and queue offloads. What is missing in this
> check?

Old application will not set this flag. It will also not set any txmode.offload, as this is a new API. The Tx offload stage comes only after on the tx_queue_setup.
So for such old application we cannot compare the Tx Queue offload to the Tx port offloads, as the later one are 0. 

> 
> >
> > When we mitigate the constraion/deprecate the old API we can remove
> this.
> >
> >> Independent from constrain all PMDs switch to new API which doesn't
> >> use txq_flags anymore, what blocks removing it from PMDs?
> >>
> >>>
> >>>> Can maintainer of following PMDs please check their offloading API
> >>>> implementation:
> >>>>
> >>>> axgbe
> >>>> bnxt
> >>>> e1000
> >>>> ena
> >>>> failsafe
> >>>> fm10k
> >>>> i40e
> >>>> ixgbe
> >>>> mlx4
> >>>> mlx5
> >>>> octeontx
> >>>> qede
> >>>> sfc
> >>>> tap
> >>>> thunderx
> >>>> virtio
> >>>> vmxnet3
> >


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: ethdev new offloading API switch in PMDs
  2018-05-02 13:44         ` Shahaf Shuler
@ 2018-05-02 15:18           ` Ferruh Yigit
  2018-05-02 17:42             ` Shahaf Shuler
  0 siblings, 1 reply; 8+ messages in thread
From: Ferruh Yigit @ 2018-05-02 15:18 UTC (permalink / raw)
  To: Shahaf Shuler, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Nélio Laranjeiro, Yongseok Koh, Santosh Shukla, Jerin Jacob,
	Rasesh Mody, Harish Patil, Shahed Shaikh, Andrew Rybchenko,
	Pascal Mazon, Maciej Czekaj, Maxime Coquelin, Tiwei Bie,
	Yong Wang
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Bruce Richardson

On 5/2/2018 2:44 PM, Shahaf Shuler wrote:
> Wednesday, May 2, 2018 4:28 PM, Ferruh Yigit:
>> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
>>
>> On 5/2/2018 1:52 PM, Shahaf Shuler wrote:
>>> Wednesday, May 2, 2018 11:47 AM, Ferruh Yigit:
>>>> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
>>>>
>>>> On 5/2/2018 6:34 AM, Shahaf Shuler wrote:
>>>>> Tuesday, May 1, 2018 5:01 PM, Ferruh Yigit:
>>>>>> Subject: ethdev new offloading API switch in PMDs
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Following PMDs still has .txq_flags in use, after basic grep, no
>>>>>> in-dept investigation done.
>>>>>>
>>>>>> With PMDs switch to new API, that flag no longer should be needed.
>>>>>>
>>>>>> Old applications still use it but ethdev converts them to the
>>>>>> offloads, so that PMDs can only concern about offloads.
>>>>>>
>>>>>
>>>>> Full removal of txq_flags can be done only after we will mitigate
>>>>> the
>>>> "queue offloads must match port offload" constrain.
>>>>
>>>> Why? What is the relation of the flag and constrain?
>>>
>>> The PMD has to know if to verify port offloads and queue offload
>> correlation.
>>> It is done by looking on the ETH_TXQ_FLAGS_IGNORE flag.
>>
>> Perhaps I am missing something but why done looking
>> ETH_TXQ_FLAGS_IGNORE flag?
>>
>> ETH_TXQ_FLAGS_IGNORE flag means application is using new API and
>> "offloads"
>> variable is valid instead of "txq_flags"
>>
>> ethdev uses this information to convert "txq_flags" to "offloads", for PMD
>> "offloads" are always valid.
>>
>> PMD can check [rt]xmode->offloads (port offloads) and [rt]xq->offloads
>> (queue
>> offloads) to verify between port and queue offloads. What is missing in this
>> check?
> 
> Old application will not set this flag. It will also not set any txmode.offload, as this is a new API.

Correct.

> The Tx offload stage comes only after on the tx_queue_setup.

Yes, rte_eth_tx_queue_setup() calls rte_eth_convert_txq_flags() which converts
"txq_flags" to txq->offloads

> So for such old application we cannot compare the Tx Queue offload to the Tx port offloads, as the later one are 0. 

I see now, issue is not txq->offloads, it is txmode.offload.

For old applications txmode.offload is not correct, ethdev doesn't convert Tx
port level offloads to new API.
So it is not completely correct to say PMDs switched to new offloading API, in
Tx side there is still some part from old API needs to be supported for old
application support.

Is there a reason not to set txmode.offload in rte_eth_tx_queue_setup() ?


And can we say, in PMDs "txq_flags" is only allowed for
1- "queue offloads must match port offload" constrain.
2- As part of dev_info->default_txconf, for old applications.

(1) can go away when constrain removed, target is this release. (2) can go away
when old API support deprecated from applications, target is next release, is
this correct?


> 
>>
>>>
>>> When we mitigate the constraion/deprecate the old API we can remove
>> this.
>>>
>>>> Independent from constrain all PMDs switch to new API which doesn't
>>>> use txq_flags anymore, what blocks removing it from PMDs?
>>>>
>>>>>
>>>>>> Can maintainer of following PMDs please check their offloading API
>>>>>> implementation:
>>>>>>
>>>>>> axgbe
>>>>>> bnxt
>>>>>> e1000
>>>>>> ena
>>>>>> failsafe
>>>>>> fm10k
>>>>>> i40e
>>>>>> ixgbe
>>>>>> mlx4
>>>>>> mlx5
>>>>>> octeontx
>>>>>> qede
>>>>>> sfc
>>>>>> tap
>>>>>> thunderx
>>>>>> virtio
>>>>>> vmxnet3
>>>
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: ethdev new offloading API switch in PMDs
  2018-05-02 15:18           ` Ferruh Yigit
@ 2018-05-02 17:42             ` Shahaf Shuler
  0 siblings, 0 replies; 8+ messages in thread
From: Shahaf Shuler @ 2018-05-02 17:42 UTC (permalink / raw)
  To: Ferruh Yigit, Gaetan Rivet, Qi Zhang, Xiao Wang, Beilei Xing,
	Wenzhuo Lu, Konstantin Ananyev, Adrien Mazarguil,
	Nélio Laranjeiro, Yongseok Koh, Santosh Shukla, Jerin Jacob,
	Rasesh Mody, Harish Patil, Shahed Shaikh, Andrew Rybchenko,
	Pascal Mazon, Maciej Czekaj, Maxime Coquelin, Tiwei Bie,
	Yong Wang
  Cc: Thomas Monjalon, dpdk-dev, Ravi Kumar, Ajit Khaparde,
	Somnath Kotur, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Bruce Richardson

Wednesday, May 2, 2018 6:18 PM, Ferruh Yigit:
> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
> 
> On 5/2/2018 2:44 PM, Shahaf Shuler wrote:
> > Wednesday, May 2, 2018 4:28 PM, Ferruh Yigit:
> >> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
> >>
> >> On 5/2/2018 1:52 PM, Shahaf Shuler wrote:
> >>> Wednesday, May 2, 2018 11:47 AM, Ferruh Yigit:
> >>>> Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
> >>>>
> >>>> On 5/2/2018 6:34 AM, Shahaf Shuler wrote:
> >>>>> Tuesday, May 1, 2018 5:01 PM, Ferruh Yigit:
> >>>>>> Subject: ethdev new offloading API switch in PMDs
> >>>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> Following PMDs still has .txq_flags in use, after basic grep, no
> >>>>>> in-dept investigation done.
> >>>>>>
> >>>>>> With PMDs switch to new API, that flag no longer should be needed.
> >>>>>>
> >>>>>> Old applications still use it but ethdev converts them to the
> >>>>>> offloads, so that PMDs can only concern about offloads.
> >>>>>>
> >>>>>
> >>>>> Full removal of txq_flags can be done only after we will mitigate
> >>>>> the
> >>>> "queue offloads must match port offload" constrain.
> >>>>
> >>>> Why? What is the relation of the flag and constrain?
> >>>
> >>> The PMD has to know if to verify port offloads and queue offload
> >> correlation.
> >>> It is done by looking on the ETH_TXQ_FLAGS_IGNORE flag.
> >>
> >> Perhaps I am missing something but why done looking
> >> ETH_TXQ_FLAGS_IGNORE flag?
> >>
> >> ETH_TXQ_FLAGS_IGNORE flag means application is using new API and
> >> "offloads"
> >> variable is valid instead of "txq_flags"
> >>
> >> ethdev uses this information to convert "txq_flags" to "offloads",
> >> for PMD "offloads" are always valid.
> >>
> >> PMD can check [rt]xmode->offloads (port offloads) and
> >> [rt]xq->offloads (queue
> >> offloads) to verify between port and queue offloads. What is missing
> >> in this check?
> >
> > Old application will not set this flag. It will also not set any txmode.offload,
> as this is a new API.
> 
> Correct.
> 
> > The Tx offload stage comes only after on the tx_queue_setup.
> 
> Yes, rte_eth_tx_queue_setup() calls rte_eth_convert_txq_flags() which
> converts "txq_flags" to txq->offloads
> 
> > So for such old application we cannot compare the Tx Queue offload to the
> Tx port offloads, as the later one are 0.
> 
> I see now, issue is not txq->offloads, it is txmode.offload.
> 
> For old applications txmode.offload is not correct, ethdev doesn't convert Tx
> port level offloads to new API.
> So it is not completely correct to say PMDs switched to new offloading API, in
> Tx side there is still some part from old API needs to be supported for old
> application support.

As I said, it is being used only for the check with the port offloads. Otherwise it is not needed. 

> 
> Is there a reason not to set txmode.offload in rte_eth_tx_queue_setup() ?
> 

I think it is error prone. Changing of the txmode should be only as part of the port configuration. 

> 
> And can we say, in PMDs "txq_flags" is only allowed for
> 1- "queue offloads must match port offload" constrain.
> 2- As part of dev_info->default_txconf, for old applications.
> 
> (1) can go away when constrain removed, target is this release. (2) can go
> away when old API support deprecated from applications, target is next
> release, is this correct?

Seems correct. 

> 
> 
> >
> >>
> >>>
> >>> When we mitigate the constraion/deprecate the old API we can remove
> >> this.
> >>>
> >>>> Independent from constrain all PMDs switch to new API which doesn't
> >>>> use txq_flags anymore, what blocks removing it from PMDs?
> >>>>
> >>>>>
> >>>>>> Can maintainer of following PMDs please check their offloading
> >>>>>> API
> >>>>>> implementation:
> >>>>>>
> >>>>>> axgbe
> >>>>>> bnxt
> >>>>>> e1000
> >>>>>> ena
> >>>>>> failsafe
> >>>>>> fm10k
> >>>>>> i40e
> >>>>>> ixgbe
> >>>>>> mlx4
> >>>>>> mlx5
> >>>>>> octeontx
> >>>>>> qede
> >>>>>> sfc
> >>>>>> tap
> >>>>>> thunderx
> >>>>>> virtio
> >>>>>> vmxnet3
> >>>
> >


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-05-02 17:42 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-01 14:01 ethdev new offloading API switch in PMDs Ferruh Yigit
2018-05-02  5:34 ` Shahaf Shuler
2018-05-02  8:46   ` Ferruh Yigit
2018-05-02 12:52     ` Shahaf Shuler
2018-05-02 13:27       ` Ferruh Yigit
2018-05-02 13:44         ` Shahaf Shuler
2018-05-02 15:18           ` Ferruh Yigit
2018-05-02 17:42             ` Shahaf Shuler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.