On Fri, Apr 17, 2020 at 12:33 AM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > > On Thu, Apr 16, 2020 at 09:56:40AM +0200, Eugenio Pérez wrote: > > As updated in ("2a2d1382fe9d virtio: Add improved queue allocation API") > > > > Signed-off-by: Eugenio Pérez <eperezma@xxxxxxxxxx> > > Pls add motivation for these changes. > The original motivation was to make code as close as possible to virtio_net. Also, it skips a (probably not expensive) initialization in vring_new_virtqueue. With the recent events, I think that this could be useful to test when userspace and kernel use different struct layout, maybe with some sanitizer. I can drop it if you don't see it the same way (or if I didn't understand the problem and this does not help). Thanks! > > --- > > tools/virtio/virtio_test.c | 7 +++---- > > 1 file changed, 3 insertions(+), 4 deletions(-) > > > > diff --git a/tools/virtio/virtio_test.c b/tools/virtio/virtio_test.c > > index 1d5144590df6..d9827b640c21 100644 > > --- a/tools/virtio/virtio_test.c > > +++ b/tools/virtio/virtio_test.c > > @@ -106,10 +106,9 @@ static void vq_info_add(struct vdev_info *dev, int num) > > assert(r >= 0); > > memset(info->ring, 0, vring_legacy_size(num, 4096)); > > vring_legacy_init(&info->vring, num, info->ring, 4096); > > - info->vq = vring_new_virtqueue(info->idx, > > - info->vring.num, 4096, &dev->vdev, > > - true, false, info->ring, > > - vq_notify, vq_callback, "test"); > > + info->vq = > > + __vring_new_virtqueue(info->idx, info->vring, &dev->vdev, true, > > + false, vq_notify, vq_callback, "test"); > > assert(info->vq); > > info->vq->priv = info; > > vhost_vq_setup(dev, info); > > -- > > 2.18.1 >