DPDK patches and discussions
 help / color / mirror / Atom feed
From: Shahaf Shuler <shahafs@mellanox.com>
To: "Ferruh Yigit" <ferruh.yigit@intel.com>,
	"Gaetan Rivet" <gaetan.rivet@6wind.com>,
	"Qi Zhang" <qi.z.zhang@intel.com>,
	"Xiao Wang" <xiao.w.wang@intel.com>,
	"Beilei Xing" <beilei.xing@intel.com>,
	"Wenzhuo Lu" <wenzhuo.lu@intel.com>,
	"Konstantin Ananyev" <konstantin.ananyev@intel.com>,
	"Adrien Mazarguil" <adrien.mazarguil@6wind.com>,
	"Nélio Laranjeiro" <nelio.laranjeiro@6wind.com>,
	"Yongseok Koh" <yskoh@mellanox.com>,
	"Santosh Shukla" <santosh.shukla@caviumnetworks.com>,
	"Jerin Jacob" <jerin.jacob@caviumnetworks.com>,
	"Rasesh Mody" <rasesh.mody@cavium.com>,
	"Harish Patil" <harish.patil@cavium.com>,
	"Shahed Shaikh" <shahed.shaikh@cavium.com>,
	"Andrew Rybchenko" <arybchenko@solarflare.com>,
	"Pascal Mazon" <pascal.mazon@6wind.com>,
	"Maciej Czekaj" <maciej.czekaj@caviumnetworks.com>,
	"Maxime Coquelin" <maxime.coquelin@redhat.com>,
	"Tiwei Bie" <tiwei.bie@intel.com>,
	"Yong Wang" <yongwang@vmware.com>
Cc: Thomas Monjalon <thomas@monjalon.net>, dpdk-dev <dev@dpdk.org>,
	Ravi Kumar <ravi1.kumar@amd.com>,
	Ajit Khaparde <ajit.khaparde@broadcom.com>,
	"Somnath Kotur" <somnath.kotur@broadcom.com>,
	Marcin Wojtas <mw@semihalf.com>,
	"Michal Krawczyk" <mk@semihalf.com>,
	Guy Tzalik <gtzalik@amazon.com>,
	"Evgeny Schemeilin" <evgenys@amazon.com>,
	Bruce Richardson <bruce.richardson@intel.com>
Subject: Re: [dpdk-dev] ethdev new offloading API switch in PMDs
Date: Wed, 2 May 2018 17:42:44 +0000	[thread overview]
Message-ID: <DB7PR05MB4426137BC6F0BA58FD3309FDC3800@DB7PR05MB4426.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <8e92448e-f9b0-e8bf-91db-005259412eb0@intel.com>

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
> >>>
> >


      reply	other threads:[~2018-05-02 17:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-01 14:01 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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DB7PR05MB4426137BC6F0BA58FD3309FDC3800@DB7PR05MB4426.eurprd05.prod.outlook.com \
    --to=shahafs@mellanox.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=arybchenko@solarflare.com \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@intel.com \
    --cc=gaetan.rivet@6wind.com \
    --cc=gtzalik@amazon.com \
    --cc=harish.patil@cavium.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=maciej.czekaj@caviumnetworks.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mk@semihalf.com \
    --cc=mw@semihalf.com \
    --cc=nelio.laranjeiro@6wind.com \
    --cc=pascal.mazon@6wind.com \
    --cc=qi.z.zhang@intel.com \
    --cc=rasesh.mody@cavium.com \
    --cc=ravi1.kumar@amd.com \
    --cc=santosh.shukla@caviumnetworks.com \
    --cc=shahed.shaikh@cavium.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=thomas@monjalon.net \
    --cc=tiwei.bie@intel.com \
    --cc=wenzhuo.lu@intel.com \
    --cc=xiao.w.wang@intel.com \
    --cc=yongwang@vmware.com \
    --cc=yskoh@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).