Re: [RFC PATCH v5 21/26] vhost: Add vhost_svq_valid_guest_features to shadow vq
From: Jason Wang <hidden>
Date: 2021-11-02 05:28:38
Also in:
qemu-devel
On Sat, Oct 30, 2021 at 2:44 AM Eugenio Pérez [off-list ref] wrote:
This allows it to test if the guest has aknowledge an invalid transport feature for SVQ. This will include packed vq layout or event_idx, where VirtIO device needs help from SVQ. There is not needed at this moment, but since SVQ will not re-negotiate features again with the guest, a failure in acknowledge them is fatal for SVQ.
It's not clear to me why we need this. Maybe you can give me an example. E.g isn't it sufficient to filter out the device with event_idx? Thanks
quoted hunk
Signed-off-by: Eugenio Pérez <eperezma@redhat.com> --- hw/virtio/vhost-shadow-virtqueue.h | 1 + hw/virtio/vhost-shadow-virtqueue.c | 6 ++++++ 2 files changed, 7 insertions(+)diff --git a/hw/virtio/vhost-shadow-virtqueue.h b/hw/virtio/vhost-shadow-virtqueue.h index 946b2c6295..ac55588009 100644 --- a/hw/virtio/vhost-shadow-virtqueue.h +++ b/hw/virtio/vhost-shadow-virtqueue.h@@ -16,6 +16,7 @@ typedef struct VhostShadowVirtqueue VhostShadowVirtqueue; bool vhost_svq_valid_device_features(uint64_t *features); +bool vhost_svq_valid_guest_features(uint64_t *features); void vhost_svq_set_svq_kick_fd(VhostShadowVirtqueue *svq, int svq_kick_fd); void vhost_svq_set_guest_call_notifier(VhostShadowVirtqueue *svq, int call_fd);diff --git a/hw/virtio/vhost-shadow-virtqueue.c b/hw/virtio/vhost-shadow-virtqueue.c index 6e0508a231..cb9ffcb015 100644 --- a/hw/virtio/vhost-shadow-virtqueue.c +++ b/hw/virtio/vhost-shadow-virtqueue.c@@ -62,6 +62,12 @@ bool vhost_svq_valid_device_features(uint64_t *dev_features) return true; } +/* If the guest is using some of these, SVQ cannot communicate */ +bool vhost_svq_valid_guest_features(uint64_t *guest_features) +{ + return true; +} + /* Forward guest notifications */ static void vhost_handle_guest_kick(EventNotifier *n) { --2.27.0
_______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization