DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Thomas Monjalon <thomas@monjalon.net>,
	Tiwei Bie <tiwei.bie@intel.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>,
	Zhihong Wang <zhihong.wang@intel.com>, <dev@dpdk.org>,
	Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
Subject: Re: [dpdk-dev] [PATCH 3/3] net/virtio: reject unsupported Rx multi queue modes
Date: Thu, 10 Oct 2019 11:13:56 +0300	[thread overview]
Message-ID: <79dd7de6-2f0d-dd66-86a7-53a04fcc2d30@solarflare.com> (raw)
In-Reply-To: <1888011.E2VOWpukML@xps>

On 10/10/19 10:42 AM, Thomas Monjalon wrote:
> 09/10/2019 13:24, Andrew Rybchenko:
>> On 10/9/19 1:41 PM, Tiwei Bie wrote:
>>> On Wed, Oct 09, 2019 at 12:00:28PM +0300, Andrew Rybchenko wrote:
>>>> And one more thought...
>>>> It looks like if more than one Rx queue is configured, mq_mode must
>>>> be ETH_MQ_RX_RSS and must not be ETH_MQ_RX_NONE.
>>> Some apps in DPDK will set mq_mode to ETH_MQ_RX_NONE while
>>> enabling multiple queue pairs, e.g.:
>>>
>>> https://github.com/DPDK/dpdk/blob/5b5bb56532fd5dea5d6260c0a0e405c0e32da2a0/app/test/test_link_bonding.c#L137
>>> https://github.com/DPDK/dpdk/blob/5b5bb56532fd5dea5d6260c0a0e405c0e32da2a0/app/test/test_link_bonding.c#L181-L182
>>> https://github.com/DPDK/dpdk/blob/5b5bb56532fd5dea5d6260c0a0e405c0e32da2a0/app/test/test_link_bonding.c#L3938-L3948
>>>
>>> Testpmd will also set mq_mode to ETH_MQ_RX_NONE when multiple
>>> Rx queues are enabled but rss_hf is empty:
>>>
>>> https://github.com/DPDK/dpdk/blob/5b5bb56532fd5dea5d6260c0a0e405c0e32da2a0/app/test-pmd/testpmd.c#L2935-L2938
>>> https://github.com/DPDK/dpdk/blob/5b5bb56532fd5dea5d6260c0a0e405c0e32da2a0/app/test-pmd/testpmd.c#L2945-L2948
>>> (the flow_type_rss_offloads reported by virtio-PMD is zero)
>>>
>>> My understanding is that, setting mq_mode to ETH_MQ_RX_NONE means
>>> no method is enforced on how to route packets to MQs.
>> I'm not sure. It is definitely a place to be improved in
>> ethdev documentation. Thomas, Ferruh, what do you think?
>> Is it really a definition of ETH_MQ_RX_NONE?
> I think it means everything go to queue 0.

I understand it this way as well.

> The comment says no DCB, RSS or VMDQ.
> It looks like the "NONE" value has been abused for some custom steering.
> We have two options:
> 	- document NONE as a possible case of custom steering
> 	- add a new CUSTOM value

I'd prefer to say that ETH_MQ_RX_RSS with rss_hf equal to 0 means
unspecified/unknown steering. If application just want to spread
traffic across many Rx queues, it is natural choice to say that
it want RSS, but do not care about spreading algorithm etc.
It allows driver use recommended defaults if rss_hf is controllable,
or just spread in virtio case.

Yes, it means that testpmd should be fixed for this specific case
to be able to enable RSS with rss_hf equal to 0.


  reply	other threads:[~2019-10-10  8:14 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-01 15:44 [dpdk-dev] [PATCH 1/3] net/virtio: reject deferred start Rx queue setup Andrew Rybchenko
2019-10-01 15:44 ` [dpdk-dev] [PATCH 2/3] net/virtio: reject deferred start Tx " Andrew Rybchenko
2019-10-08  5:35   ` Tiwei Bie
2019-10-01 15:44 ` [dpdk-dev] [PATCH 3/3] net/virtio: reject unsupported Rx multi queue modes Andrew Rybchenko
2019-10-08  5:46   ` Tiwei Bie
2019-10-09  8:04     ` Andrew Rybchenko
2019-10-09  8:43       ` Tiwei Bie
2019-10-09  9:00         ` Andrew Rybchenko
2019-10-09 10:41           ` Tiwei Bie
2019-10-09 11:24             ` Andrew Rybchenko
2019-10-10  7:42               ` Thomas Monjalon
2019-10-10  8:13                 ` Andrew Rybchenko [this message]
2019-10-10  8:23                   ` David Marchand
2019-10-10  8:27                     ` Andrew Rybchenko
2019-10-10  9:10                       ` Tiwei Bie
2019-10-01 16:29 ` [dpdk-dev] [PATCH 1/3] net/virtio: reject deferred start Rx queue setup Kevin Traynor
2019-10-01 16:39   ` Andrew Rybchenko
2019-10-09 12:32 ` [dpdk-dev] [PATCH v2 1/4] " Andrew Rybchenko
2019-10-09 12:32   ` [dpdk-dev] [PATCH v2 2/4] net/virtio: reject deferred start Tx " Andrew Rybchenko
2019-10-24  9:44     ` Maxime Coquelin
2019-10-09 12:32   ` [dpdk-dev] [PATCH v2 3/4] net/virtio: reject unsupported Rx multi queue modes Andrew Rybchenko
2019-10-24  9:44     ` Maxime Coquelin
2019-10-09 12:32   ` [dpdk-dev] [PATCH v2 4/4] net/virtio: reject unsupported Tx " Andrew Rybchenko
2019-10-24  9:44     ` Maxime Coquelin
2019-10-24  9:44   ` [dpdk-dev] [PATCH v2 1/4] net/virtio: reject deferred start Rx queue setup Maxime Coquelin
2019-10-24 10:19     ` Maxime Coquelin

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=79dd7de6-2f0d-dd66-86a7-53a04fcc2d30@solarflare.com \
    --to=arybchenko@solarflare.com \
    --cc=Dilshod.Urazov@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=thomas@monjalon.net \
    --cc=tiwei.bie@intel.com \
    --cc=zhihong.wang@intel.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).