From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
To: dev@dpdk.org
Cc: Thomas Monjalon <thomas.monjalon@6wind.com>,
Tan Jianfeng <jianfeng.tan@intel.com>,
Kevin Traynor <ktraynor@redhat.com>,
Ilya Maximets <i.maximets@samsung.com>,
Kyle Larose <klarose@sandvine.com>,
Maxime Coquelin <maxime.coquelin@redhat.com>
Subject: Re: [dpdk-dev] [PATCH v2 10/10] net/virtio: fix multiple queue enabling
Date: Mon, 7 Nov 2016 17:25:06 +0800 [thread overview]
Message-ID: <20161107092506.GI12283@yliu-dev.sh.intel.com> (raw)
In-Reply-To: <1478338865-26126-11-git-send-email-yuanhan.liu@linux.intel.com>
On Sat, Nov 05, 2016 at 05:41:05PM +0800, Yuanhan Liu wrote:
> When queue number shrinks to 1 from X, the following code stops us
> sending the multiple queue ctrl message:
>
> if (nb_queues > 1) {
> if (virtio_set_multiple_queues(dev, nb_queues) != 0)
> return -EINVAL;
> }
>
> This ends up with still X queues being enabled, which is obviously
> wrong. Fix it by removing the check.
>
> Fixes: 823ad647950a ("virtio: support multiple queues")
>
> Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
This breaks the virtio-user case, where ctrl-queue is not enabled by
defeault.
Here is an update patch would fix this.
--yliu
---
>From 22502943764a99b1398d40f0110f8ce28323323a Mon Sep 17 00:00:00 2001
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Date: Sat, 5 Nov 2016 16:53:27 +0800
Subject: [PATCH v3 10/10] net/virtio: fix multiple queue enabling
When queue number shrinks to 1 from X, the following code stops us
sending the multiple queue ctrl message:
if (nb_queues > 1) {
if (virtio_set_multiple_queues(dev, nb_queues) != 0)
return -EINVAL;
}
This ends up with still X queues being enabled, which is obviously
wrong. Fix it by replacing the check with a multiple queue enabled
or not check.
Fixes: 823ad647950a ("virtio: support multiple queues")
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
v3: - fix the virtio-user case, which is default with ctrl-queue
being disabled. Thus virtio_set_multiple_queues fails.
---
drivers/net/virtio/virtio_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index d70bd00..18da98f 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1472,6 +1472,7 @@ virtio_dev_start(struct rte_eth_dev *dev)
uint16_t nb_queues, i;
struct virtnet_rx *rxvq;
struct virtnet_tx *txvq __rte_unused;
+ struct virtio_hw *hw = dev->data->dev_private;
/* check if lsc interrupt feature is enabled */
if (dev->data->dev_conf.intr_conf.lsc) {
@@ -1494,7 +1495,7 @@ virtio_dev_start(struct rte_eth_dev *dev)
*vhost backend will have no chance to be waked up
*/
nb_queues = RTE_MAX(dev->data->nb_rx_queues, dev->data->nb_tx_queues);
- if (nb_queues > 1) {
+ if (hw->max_queue_pairs > 1) {
if (virtio_set_multiple_queues(dev, nb_queues) != 0)
return -EINVAL;
}
--
1.9.0
next prev parent reply other threads:[~2016-11-07 9:24 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-03 16:09 [dpdk-dev] [PATCH 0/8] net/virtio: fix queue reconfigure issue Yuanhan Liu
2016-11-03 16:09 ` [dpdk-dev] [PATCH 1/8] net/virtio: revert "virtio: fix restart" Yuanhan Liu
2016-11-03 20:36 ` Maxime Coquelin
2016-11-04 2:00 ` Yuanhan Liu
2016-11-04 8:09 ` Maxime Coquelin
2016-11-04 14:28 ` Yuanhan Liu
2016-11-04 8:10 ` Maxime Coquelin
2016-11-03 16:09 ` [dpdk-dev] [PATCH 2/8] net/virtio: simplify queue memzone name Yuanhan Liu
2016-11-03 20:41 ` Maxime Coquelin
2016-11-03 16:09 ` [dpdk-dev] [PATCH 3/8] net/virtio: simplify queue allocation Yuanhan Liu
2016-11-03 20:48 ` Maxime Coquelin
2016-11-04 1:51 ` Yuanhan Liu
2016-11-03 16:09 ` [dpdk-dev] [PATCH 4/8] net/virtio: allocate queue at init stage Yuanhan Liu
2016-11-03 21:11 ` Maxime Coquelin
2016-11-04 1:50 ` Yuanhan Liu
2016-11-04 8:08 ` Maxime Coquelin
2016-11-04 8:25 ` Maxime Coquelin
2016-11-04 15:21 ` Kevin Traynor
2016-11-04 20:30 ` Kevin Traynor
2016-11-05 6:15 ` Yuanhan Liu
2016-11-03 16:09 ` [dpdk-dev] [PATCH 5/8] net/virtio: initiate vring " Yuanhan Liu
2016-11-04 8:34 ` Maxime Coquelin
2016-11-03 16:09 ` [dpdk-dev] [PATCH 6/8] net/virtio: move queue configure code to proper place Yuanhan Liu
2016-11-04 8:39 ` Maxime Coquelin
2016-11-03 16:09 ` [dpdk-dev] [PATCH 7/8] net/virtio: complete init stage at the right place Yuanhan Liu
2016-11-04 8:44 ` Maxime Coquelin
2016-11-03 16:10 ` [dpdk-dev] [PATCH 8/8] net/virtio: remove started field Yuanhan Liu
2016-11-04 8:46 ` Maxime Coquelin
2016-11-05 9:40 ` [dpdk-dev] [PATCH v2 00/10] net/virtio: fix queue reconfigure issue Yuanhan Liu
2016-11-05 9:40 ` [dpdk-dev] [PATCH v2 01/10] net/virtio: revert fix restart Yuanhan Liu
2016-11-05 9:40 ` [dpdk-dev] [PATCH v2 02/10] net/virtio: simplify queue memzone name Yuanhan Liu
2016-11-05 9:40 ` [dpdk-dev] [PATCH v2 03/10] net/virtio: simplify queue allocation Yuanhan Liu
2016-11-05 9:40 ` [dpdk-dev] [PATCH v2 04/10] net/virtio: allocate queue at init stage Yuanhan Liu
2016-11-07 14:23 ` Thomas Monjalon
2016-11-05 9:41 ` [dpdk-dev] [PATCH v2 05/10] net/virtio: initiate vring " Yuanhan Liu
2016-11-05 9:41 ` [dpdk-dev] [PATCH v2 06/10] net/virtio: move queue configure code to proper place Yuanhan Liu
2016-11-05 9:41 ` [dpdk-dev] [PATCH v2 07/10] net/virtio: complete init stage at the right place Yuanhan Liu
2016-11-05 9:41 ` [dpdk-dev] [PATCH v2 08/10] net/virtio: remove started field Yuanhan Liu
2016-11-05 9:41 ` [dpdk-dev] [PATCH v2 09/10] net/virtio: fix less queues being enabled issue Yuanhan Liu
2016-11-05 9:41 ` [dpdk-dev] [PATCH v2 10/10] net/virtio: fix multiple queue enabling Yuanhan Liu
2016-11-07 9:25 ` Yuanhan Liu [this message]
2016-11-07 14:44 ` [dpdk-dev] [PATCH v2 00/10] net/virtio: fix queue reconfigure issue Thomas Monjalon
2016-11-07 15:05 ` Yao, Lei A
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=20161107092506.GI12283@yliu-dev.sh.intel.com \
--to=yuanhan.liu@linux.intel.com \
--cc=dev@dpdk.org \
--cc=i.maximets@samsung.com \
--cc=jianfeng.tan@intel.com \
--cc=klarose@sandvine.com \
--cc=ktraynor@redhat.com \
--cc=maxime.coquelin@redhat.com \
--cc=thomas.monjalon@6wind.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).