Hi Changpeng, On 9/1/20 9:07 AM, Changpeng Liu wrote: > 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 <changpeng....@intel.com> > --- > 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. > static int > virtio_is_ready(struct virtio_net *dev) >