]> git.proxmox.com Git - mirror_qemu.git/commitdiff
vhost: Expose vhost_svq_available_slots()
authorHawkins Jiawei <yin31149@gmail.com>
Fri, 13 Oct 2023 08:09:41 +0000 (16:09 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 18 Oct 2023 14:41:50 +0000 (10:41 -0400)
Next patches in this series will delay the polling
and checking of buffers until either the SVQ is
full or control commands shadow buffers are full,
no longer perform an immediate poll and check of
the device's used buffers for each CVQ state load command.

To achieve this, this patch exposes
vhost_svq_available_slots(), allowing QEMU to know
whether the SVQ is full.

Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Acked-by: Eugenio PĂ©rez <eperezma@redhat.com>
Message-Id: <25938079f0bd8185fd664c64e205e629f7a966be.1697165821.git.yin31149@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/vhost-shadow-virtqueue.c
hw/virtio/vhost-shadow-virtqueue.h

index e731b1d2ea5555f7cccdae167769a4bf76e3606d..fc5f408f77877f4e7eca82cfdc0a08df3a55605a 100644 (file)
@@ -66,7 +66,7 @@ bool vhost_svq_valid_features(uint64_t features, Error **errp)
  *
  * @svq: The svq
  */
-static uint16_t vhost_svq_available_slots(const VhostShadowVirtqueue *svq)
+uint16_t vhost_svq_available_slots(const VhostShadowVirtqueue *svq)
 {
     return svq->num_free;
 }
index 5bce67837b7189313e514d46f87f2ce8d76015f7..19c842a15b72e7feb72722f498ad0b8cdeeddf3d 100644 (file)
@@ -114,6 +114,7 @@ typedef struct VhostShadowVirtqueue {
 
 bool vhost_svq_valid_features(uint64_t features, Error **errp);
 
+uint16_t vhost_svq_available_slots(const VhostShadowVirtqueue *svq);
 void vhost_svq_push_elem(VhostShadowVirtqueue *svq,
                          const VirtQueueElement *elem, uint32_t len);
 int vhost_svq_add(VhostShadowVirtqueue *svq, const struct iovec *out_sg,