DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Tom Barbette <barbette@kth.se>, <pbhagavatula@marvell.com>,
	<jerinj@marvell.com>, <stephen@networkplumber.org>,
	<hemant.agrawal@nxp.com>,  <thomas@monjalon.net>,
	<ferruh.yigit@intel.com>, <bruce.richardson@intel.com>,
	Neil Horman <nhorman@tuxdriver.com>,
	"John McNamara" <john.mcnamara@intel.com>,
	Marko Kovacevic <marko.kovacevic@intel.com>
Cc: <dev@dpdk.org>
Subject: Re: [dpdk-dev] [patch v4] doc: announce API change in ethdev offload flags
Date: Fri, 9 Aug 2019 12:22:30 +0300	[thread overview]
Message-ID: <a0501cc3-eedb-754c-f317-c1b91b54e1bf@solarflare.com> (raw)
In-Reply-To: <2811f2d9-9c85-0eff-6228-e8c5251587a7@kth.se>

On 8/9/19 12:13 PM, Tom Barbette wrote:
> I think the silent breaking is still not solved for 
> DEV_RX_OFFLOAD_RSS_HASH and DEV_RX_OFFLOAD_FLOW_MARK.
>
> An old application will still compile without any problem, but the RSS 
> hash will not be written and the app will break... They should be 
> negative. Eg DEV_RX_OFFLOAD_NO_RSS_HASH and DEV_RX_OFFLOAD_NO_FLOW_MARK?
>
> Then, regarding the idea, are we sure it's better to add a 
> configuration check/a branch than always copying a few bytes from a 
> warm cache line to a warm cache line? Or some HW could free some 
> internal resources? But drivers are free to ignore it so it is not a 
> problem as opposed to silent breaking.

It could be not delivered from NIC to host saving PCIe bandwidth. E.g. 
flow mark plus RSS hash is 8 byte and it is more than 10% for small packet.

> Tom
>
> On 2019-08-09 10:17, pbhagavatula@marvell.com wrote:
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Add new offload flags ``DEV_RX_OFFLOAD_RSS`` and 
>> ``DEV_RX_OFFLOAD_FLOW_MARK``.
>> Add new function ``rte_eth_dev_set_supported_ptypes`` to allow 
>> application to
>> set specific ptypes to be updated in ``rte_mbuf::packet_type``
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
>> Acked-by: Jerin Jacob <jerinj@marvell.com>
>> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
>> ---
>>   doc/guides/rel_notes/deprecation.rst | 23 +++++++++++++++++++++++
>>   1 file changed, 23 insertions(+)
>>
>> diff --git a/doc/guides/rel_notes/deprecation.rst 
>> b/doc/guides/rel_notes/deprecation.rst
>> index 37b8592b6..e4e2a85d7 100644
>> --- a/doc/guides/rel_notes/deprecation.rst
>> +++ b/doc/guides/rel_notes/deprecation.rst
>> @@ -78,3 +78,26 @@ Deprecation Notices
>>     to set new power environment if power environment was already 
>> initialized.
>>     In this case the function will return -1 unless the environment 
>> is unset first
>>     (using ``rte_power_unset_env``). Other function usage scenarios 
>> will not change.
>> +
>> +* ethdev: New offload flags ``DEV_RX_OFFLOAD_RSS_HASH`` and 
>> ``DEV_RX_OFFLOAD_FLOW_MARK``
>> +  will be added in 19.11.
>> +  This will allow application to enable or disable PMDs from updating
>> +  ``rte_mbuf::hash::rss`` and ``rte_mbuf::hash::fdir`` respectively.
>> +  This scheme will allow PMDs to avoid writes to ``rte_mbuf`` fields 
>> on Rx and
>> +  thereby improve Rx performance if application wishes do so.
>> +  In 19.11 PMDs will still update the fields even when the offloads 
>> are not
>> +  enabled.
>> +
>> +* ethdev: New function ``rte_eth_dev_set_supported_ptypes`` will be 
>> added in
>> +  19.11.
>> +  This will allow application to request PMD to set specific ptypes 
>> defined
>> +  through ``rte_eth_dev_set_supported_ptypes`` in 
>> ``rte_mbuf::packet_type``.
>> +  If application doesn't want any ptype information it can call
>> +  ``rte_eth_dev_set_supported_ptypes(ethdev_id, RTE_PTYPE_UNKNOWN)``
>> +  If application doesn't call ``rte_eth_dev_set_supported_ptypes`` 
>> PMD can
>> +  return ``rte_mbuf::packet_type`` with 
>> ``rte_eth_dev_get_supported_ptypes``.
>> +  If application is interested only in L2/L3 layer, it can inform 
>> the PMD to update
>> + ``rte_mbuf::packet_type`` with L2/L3 ptype by calling
>> + ``rte_eth_dev_set_supported_ptypes(ethdev_id, RTE_PTYPE_L2_MASK | 
>> RTE_PTYPE_L3_MASK)``.
>> +  This scheme will allow PMDs to avoid writes to ``rte_mbuf`` fields 
>> on Rx and
>> +  thereby improve Rx performance if application wishes do so.
>> -- 
>> 2.17.1
>>


  reply	other threads:[~2019-08-09  9:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-07 16:09 [dpdk-dev] [patch] " pbhagavatula
2019-08-07 19:36 ` Andrew Rybchenko
2019-08-08  8:17 ` [dpdk-dev] [patch v2] " pbhagavatula
2019-08-08  8:33   ` Jerin Jacob Kollanukkaran
2019-08-08  8:55     ` Pavan Nikhilesh Bhagavatula
2019-08-08  8:58   ` [dpdk-dev] [patch v3] " pbhagavatula
2019-08-08  9:23     ` Ananyev, Konstantin
2019-08-08 10:00       ` Jerin Jacob Kollanukkaran
2019-08-08 10:08         ` Ananyev, Konstantin
2019-08-08 10:23           ` Jerin Jacob Kollanukkaran
2019-08-08 10:33             ` Ananyev, Konstantin
2019-08-08 10:59               ` Jerin Jacob Kollanukkaran
2019-08-08 11:08                 ` Thomas Monjalon
2019-08-08 16:53                 ` Ananyev, Konstantin
2019-08-09  3:48                   ` Jerin Jacob Kollanukkaran
2019-08-09  8:24                     ` Ananyev, Konstantin
2019-08-09  8:13     ` Hemant Agrawal
2019-08-09  8:17     ` [dpdk-dev] [patch v4] " pbhagavatula
2019-08-09  8:47       ` Ananyev, Konstantin
2019-08-09  9:07         ` Pavan Nikhilesh Bhagavatula
2019-08-09  9:13       ` Tom Barbette
2019-08-09  9:22         ` Andrew Rybchenko [this message]
2019-08-09  9:28         ` Jerin Jacob Kollanukkaran
2019-08-09  9:55       ` [dpdk-dev] [patch v5] " pbhagavatula
2019-08-09 10:13         ` Ananyev, Konstantin
2019-08-10 21:10           ` Thomas Monjalon

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=a0501cc3-eedb-754c-f317-c1b91b54e1bf@solarflare.com \
    --to=arybchenko@solarflare.com \
    --cc=barbette@kth.se \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerinj@marvell.com \
    --cc=john.mcnamara@intel.com \
    --cc=marko.kovacevic@intel.com \
    --cc=nhorman@tuxdriver.com \
    --cc=pbhagavatula@marvell.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /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).