Re: [PATCH RFC v8 02/11] vhost: use batched get_vq_desc version

From: Eugenio Perez Martin
Date: Fri Jun 19 2020 - 13:57:03 EST


On Wed, Jun 17, 2020 at 5:19 AM Jason Wang <jasowang@xxxxxxxxxx> wrote:
>
>
> On 2020/6/11 äå7:34, Michael S. Tsirkin wrote:
> > static void vhost_vq_free_iovecs(struct vhost_virtqueue *vq)
> > {
> > kfree(vq->descs);
> > @@ -394,6 +400,9 @@ static long vhost_dev_alloc_iovecs(struct vhost_dev *dev)
> > for (i = 0; i < dev->nvqs; ++i) {
> > vq = dev->vqs[i];
> > vq->max_descs = dev->iov_limit;
> > + if (vhost_vq_num_batch_descs(vq) < 0) {
> > + return -EINVAL;
> > + }
>
>
> This check breaks vdpa which set iov_limit to zero. Consider iov_limit
> is meaningless to vDPA, I wonder we can skip the test when device
> doesn't use worker.

I tested as

if (dev->use_worker && vhost_vq_num_batch_descs(vq) < 0)

In v9. Please let me know if that is ok for you.

Thanks!

>
> Thanks
>