From: Tiwei Bie <tiwei.bie@intel.com>
To: Andrew Rybchenko <arybchenko@solarflare.com>
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>,
Zhihong Wang <zhihong.wang@intel.com>,
dev@dpdk.org, Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>,
stable@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 3/3] net/virtio: reject unsupported Rx multi queue modes
Date: Wed, 9 Oct 2019 18:41:43 +0800 [thread overview]
Message-ID: <20191009104143.GA14695@___> (raw)
In-Reply-To: <43e11493-65d6-fdf2-8086-106ed7b4eb25@solarflare.com>
On Wed, Oct 09, 2019 at 12:00:28PM +0300, Andrew Rybchenko wrote:
> On 10/9/19 11:43 AM, Tiwei Bie wrote:
> > On Wed, Oct 09, 2019 at 11:04:38AM +0300, Andrew Rybchenko wrote:
> > > On 10/8/19 8:46 AM, Tiwei Bie wrote:
> > > > On Tue, Oct 01, 2019 at 04:44:31PM +0100, Andrew Rybchenko wrote:
> > > > > From: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
> > > > >
> > > > > This driver supports none of DCB, RSS or VMDQ modes,
> > > > > therefore must check and return error if configured incorrectly.
> > > > >
> > > > > Fixes: c1f86306a026 ("virtio: add new driver")
> > > > > Cc: stable@dpdk.org
> > > > >
> > > > > Signed-off-by: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
> > > > > Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> > > > > ---
> > > > > drivers/net/virtio/virtio_ethdev.c | 7 +++++++
> > > > > 1 file changed, 7 insertions(+)
> > > > >
> > > > > diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> > > > > index 7261109dd..0af4fc392 100644
> > > > > --- a/drivers/net/virtio/virtio_ethdev.c
> > > > > +++ b/drivers/net/virtio/virtio_ethdev.c
> > > > > @@ -2071,6 +2071,13 @@ virtio_dev_configure(struct rte_eth_dev *dev)
> > > > > PMD_INIT_LOG(DEBUG, "configure");
> > > > > req_features = VIRTIO_PMD_DEFAULT_GUEST_FEATURES;
> > > > > + if (rxmode->mq_mode != ETH_MQ_RX_NONE) {
> > > > > + PMD_DRV_LOG(ERR,
> > > > > + "Unsupported Rx multi queue mode %d",
> > > > > + rxmode->mq_mode);
> > > > > + return -EINVAL;
> > > > > + }
> > > > We need similar checks for Tx as well.
> > > OK, I'll add.
> > >
> > > However, I'm not 100% sure about RSS. Yes, I know that virtio has
> > > no RSS configuration support, but it looks possible to have multi queue
> > > in vhost-net case.
> > Yeah, it's possible to have MQ in virtio.
> > The RSS support in virtio is still WIP.
> > https://github.com/oasis-tcs/virtio-spec/issues/48
>
> Thanks for the link. So, may be ETH_MQ_RX_RSS should be accepted
> as well, but attempts to configure RSS rejected?
> Yes, it is a bit strange to accept RSS with empty rss_hf etc, but
> at least it is exactly what net/virtio can do.
>
> 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.
It looks that ETH_MQ_RX_NONE is the best fit for virtio currently.
next prev parent reply other threads:[~2019-10-09 10:44 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 [this message]
2019-10-09 11:24 ` Andrew Rybchenko
2019-10-10 7:42 ` Thomas Monjalon
2019-10-10 8:13 ` Andrew Rybchenko
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=20191009104143.GA14695@___ \
--to=tiwei.bie@intel.com \
--cc=Dilshod.Urazov@oktetlabs.ru \
--cc=arybchenko@solarflare.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=stable@dpdk.org \
--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 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.