DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Andrew Rybchenko <arybchenko@solarflare.com>
Cc: Ferruh Yigit <ferruh.yigit@intel.com>,
	Pavan Nikhilesh <pbhagavatula@marvell.com>,
	Neil Horman <nhorman@tuxdriver.com>,
	John McNamara <john.mcnamara@intel.com>,
	Marko Kovacevic <marko.kovacevic@intel.com>,
	dev@dpdk.org, orika@mellanox.com, david.marchand@redhat.com,
	olivier.matz@6wind.com, konstantin.ananyev@intel.com
Subject: Re: [dpdk-dev] [PATCH v2 3/3] ethdev: improve flow mark Rx offload deprecation notice
Date: Fri, 22 Nov 2019 12:15:33 +0100	[thread overview]
Message-ID: <2061551.U1huFxGPsU@xps> (raw)
In-Reply-To: <7f1ca296-d4b0-e11b-7a70-50379de831c4@solarflare.com>

22/11/2019 11:12, Andrew Rybchenko:
> On 11/22/19 1:01 AM, Thomas Monjalon wrote:
> > 19/11/2019 13:12, Andrew Rybchenko:
> >> The deprecation notice is required since it adds more requirements
> >> when RTE flow mark and flag actions may be used and require
> >> changes in applications.
> > I am still not sure what is the best solution here.
> > I continued to think about it in this thread:
> > 	http://mails.dpdk.org/archives/dev/2019-November/151960.html
> >
> > I think we cannot require any application change until 20.11
> > in order to keep API (and behaviour) compatibility.
> 
> Expected, but still very disappointing.
> 
> The feature is implemented by Pavan (@ Marvell), supported by me,
> used by Qi (@ Intel), looks better than alternatives from application
> developer point of view [1] and finally postponed for 1 year without really
> strong motivation.

I see different valuable point of views. This is enough motivation.

And no, it is not postponed by one year.
Next release can implement a new API.

> I disagree that it is tightly related to moving
> mark/flag to
> dynamic field/flag and absolutely blocked by it. Yes, I know that the are
> concerns from the very beginning, but the problem is explained [2] and clear
> and no full-featured alternative solution is suggested. Solution suggested
> by Ori has many significant drawbacks as explained in [2] and highlighted
> in further discussion.

I disagree with working only on mark action while there are a lot
of other configs which have to be implemented in drivers.

The reality is that some drivers decided to have some "optimizations"
disabling some features, and you want the application to opt-in
in order to allow your optimized paths.
Note that opt-in is different of really enabling an offload.
For some basic port-level features like RSS hash,
it is enabled with an offload flag before starting the port,
acting as an opt-in.
Some features have some dedicated API, which may be enabled after
starting the port, and no way to opt-in (or opt-out) before start.
A lot of features are using rte_flow API which is in this situation.
If we take the opt-in path, let's not do it only for the mark action,
but let's create a real API for it:
	rte_eth_dev_optin()
	rte_eth_dev_optinall()
	rte_eth_dev_optoutl()

I think the motivation is strong enough.

> [1] http://inbox.dpdk.org/dev/1573203631946.15959@kth.se/
> [2]
> http://inbox.dpdk.org/dev/f170105b-9c60-1b04-cb18-52e0951ddcdb@solarflare.com/
> 
> > If something would be implemented in 20.02,
> > it must be a new and optional API.
> 
> Flow mark and flag may work without the offload with some drivers,
> but some drivers require the offload to make it work. Flow API error
> should contain message which says that the offload is disabled and
> must be enabled.

Yes, the PMD should return an explicit error about a feature being disabled.
How does it impact ethdev API?

> > That's why I think no deprecation notice is required.
> >
> > [...]
> >> +* ethdev: New offload flag ``DEV_RX_OFFLOAD_FLOW_MARK`` will be added in 20.02.
> >> +  This will provide application an information if ``RTE_FLOW_ACTION_TYPE_MARK``
> >> +  or ``RTE_FLOW_ACTION_TYPE_FLAG`` is supported and, what is more important,
> >> +  allow an application to let PMD know that it would like to use these
> >> +  features.
> >> +  PMD may use the information to choose optimal datapath implementation and
> >> +  configure HW appropriately to optimize performance and/or resources usage.




  reply	other threads:[~2019-11-22 11:15 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-19 12:05 [dpdk-dev] [PATCH 1/3] ethdev: remove deprecation notice for packet type set Andrew Rybchenko
2019-11-19 12:05 ` [dpdk-dev] [PATCH 2/3] ethdev: remove deprecation notice about RSS hash offload Andrew Rybchenko
2019-11-19 12:05 ` [dpdk-dev] [PATCH 3/3] ethdev: improve flow mark Rx offload deprecation notice Andrew Rybchenko
2019-11-19 12:12 ` [dpdk-dev] [PATCH v2 1/3] ethdev: remove deprecation notice for packet type set Andrew Rybchenko
2019-11-19 12:12   ` [dpdk-dev] [PATCH v2 2/3] ethdev: remove deprecation notice about RSS hash offload Andrew Rybchenko
2019-11-19 15:04     ` Ferruh Yigit
2019-11-25 16:38       ` Ferruh Yigit
2019-11-19 12:12   ` [dpdk-dev] [PATCH v2 3/3] ethdev: improve flow mark Rx offload deprecation notice Andrew Rybchenko
2019-11-21 22:01     ` Thomas Monjalon
2019-11-22 10:12       ` Andrew Rybchenko
2019-11-22 11:15         ` Thomas Monjalon [this message]
2019-11-22 11:53           ` Andrew Rybchenko
2019-11-22 13:32             ` Jerin Jacob
2019-11-22 18:58             ` Thomas Monjalon
2019-11-23  9:42               ` Jerin Jacob
2019-11-23 18:12                 ` Thomas Monjalon
2019-11-25 10:44                   ` Jerin Jacob
2019-11-25 11:39                     ` Thomas Monjalon
2019-12-02  4:21                       ` Jerin Jacob
2019-12-02  9:15                         ` Thomas Monjalon
2019-12-02 11:09                           ` Jerin Jacob
2019-12-02 11:57                             ` Andrew Rybchenko
2019-12-05  8:12                               ` Jerin Jacob
2019-12-09  9:17                                 ` Andrew Rybchenko
2019-12-16  7:38                                   ` Jerin Jacob
2019-12-16 10:02                                     ` Andrew Rybchenko
2019-11-19 15:04   ` [dpdk-dev] [PATCH v2 1/3] ethdev: remove deprecation notice for packet type set Ferruh Yigit
2019-11-25 16:38     ` Ferruh Yigit

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=2061551.U1huFxGPsU@xps \
    --to=thomas@monjalon.net \
    --cc=arybchenko@solarflare.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=john.mcnamara@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=marko.kovacevic@intel.com \
    --cc=nhorman@tuxdriver.com \
    --cc=olivier.matz@6wind.com \
    --cc=orika@mellanox.com \
    --cc=pbhagavatula@marvell.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).