@samitouri / QOSamiQemu / commits / 060ef8cac1

vhost: simplify calls to vhost_memory_unmap()

No reason to calculate memory size again, as we have corresponding variable for each vring. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by: Daniil Tatianin <d-tatianin@yandex-team.ru> Reviewed-by: Raphael Norwitz <raphael.s.norwitz@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Lei Yang <leiyang@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20260420200339.708640-13-vsementsov@yandex-team.ru>

Vladimir Sementsov-Ogievskiy committed Apr 20, 2026 at 23:03 UTC 060ef8cac1153e3c84ca3d43254c03de3c75b593
1 file changed +6 -12
hw/virtio/vhost.c
+6 -12
@@ -1383,12 +1383,9 @@ int vhost_virtqueue_start(struct vhost_dev *dev,
1383 return 0;
1384
1385 fail:
1386 - vhost_memory_unmap(dev, &vq->used, virtio_queue_get_used_size(vdev, idx),
1387 - 0, 0);
1388 - vhost_memory_unmap(dev, &vq->avail, virtio_queue_get_avail_size(vdev, idx),
1389 - 0, 0);
1390 - vhost_memory_unmap(dev, &vq->desc, virtio_queue_get_desc_size(vdev, idx),
1391 - 0, 0);
1386 + vhost_memory_unmap(dev, &vq->used, vq->used_size, 0, 0);
1387 + vhost_memory_unmap(dev, &vq->avail, vq->avail_size, 0, 0);
1388 + vhost_memory_unmap(dev, &vq->desc, vq->desc_size, 0, 0);
1389 return r;
1390 }
1391
@@ -1435,12 +1432,9 @@ static int do_vhost_virtqueue_stop(struct vhost_dev *dev,
1432 vhost_vq_index);
1433 }
1434
1438 - vhost_memory_unmap(dev, &vq->used, virtio_queue_get_used_size(vdev, idx),
1439 - 1, virtio_queue_get_used_size(vdev, idx));
1440 - vhost_memory_unmap(dev, &vq->avail, virtio_queue_get_avail_size(vdev, idx),
1441 - 0, virtio_queue_get_avail_size(vdev, idx));
1442 - vhost_memory_unmap(dev, &vq->desc, virtio_queue_get_desc_size(vdev, idx),
1443 - 0, virtio_queue_get_desc_size(vdev, idx));
1435 + vhost_memory_unmap(dev, &vq->used, vq->used_size, 1, vq->used_size);
1436 + vhost_memory_unmap(dev, &vq->avail, vq->avail_size, 0, vq->avail_size);
1437 + vhost_memory_unmap(dev, &vq->desc, vq->desc_size, 0, vq->desc_size);
1438 return r;
1439 }
1440