Thread (17 messages) 17 messages, 4 authors, 2020-10-01

Re: [dpdk-dev] [PATCH] vhost: return ready when at least 1 vring is configured

From: Liu, Changpeng <hidden>
Date: 2020-09-21 05:03:16

Hi Maxime,
-----Original Message-----
From: Maxime Coquelin <redacted>
Sent: Friday, September 18, 2020 5:54 PM
To: Liu, Changpeng <redacted>; dev@dpdk.org
Cc: matan@mellanox.com; Xia, Chenbo <redacted>; Zawadzki,
Tomasz [off-list ref]
Subject: Re: [PATCH] vhost: return ready when at least 1 vring is configured

Hi Changpeng,

On 9/1/20 9:07 AM, Changpeng Liu wrote:
quoted
Commit d0fcc38f "vhost: improve device readiness notifications"
needs at least 2 vrings before changing the device state to
ready, this is fine for NET device but not correct for BLK
device.

The number of vring required should be based on the device
type, e.g. virtio_scsi device needs at least 3 vrings, and
virtio_net needs at least 2 vrings, virtio_blk needs at least
1 vring. So instead of doing it in vhost library it's better
that the application who uses this library do this check.

Signed-off-by: Changpeng Liu <redacted>
---
 lib/librte_vhost/vhost_user.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index c3c924f..4d1883c 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -1343,7 +1343,7 @@
 	       vq->enabled;
 }

-#define VIRTIO_DEV_NUM_VQS_TO_BE_READY 2u
+#define VIRTIO_DEV_NUM_VQS_TO_BE_READY 1u
I think it would be better to rely on VIRTIO_DEV_BUILTIN_VIRTIO_NET to
know whether it should wait for 1 or 2 queues to determine if ready.
virtio_scsi needs at least 3 vrings, so both 1 and 2 can't work for virtio_scsi device.
Can we expose an API to let the caller to set the minimum number of vrings required by
virtio device?
quoted
 static int
 virtio_is_ready(struct virtio_net *dev)
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help