Message ID | 20210209153757.1653598-3-eperezma@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vDPA shadow virtqueue - notifications forwarding | expand |
On Tue, Feb 09, 2021 at 04:37:52PM +0100, Eugenio Pérez wrote: > This allows shadow virtqueue code to assert the queue status before > making changes. > > Signed-off-by: Eugenio Pérez <eperezma@redhat.com> > --- > include/hw/virtio/virtio.h | 1 + > hw/virtio/virtio.c | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h > index b7ece7a6a8..227cec13a8 100644 > --- a/include/hw/virtio/virtio.h > +++ b/include/hw/virtio/virtio.h > @@ -316,6 +316,7 @@ void virtio_device_release_ioeventfd(VirtIODevice *vdev); > bool virtio_device_ioeventfd_enabled(VirtIODevice *vdev); > EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq); > void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled); > +bool virtio_queue_host_notifier_status(const VirtQueue *vq); > void virtio_queue_host_notifier_read(EventNotifier *n); > void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx, > VirtIOHandleAIOOutput handle_output); > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c > index 1fd1917ca0..53473ae4df 100644 > --- a/hw/virtio/virtio.c > +++ b/hw/virtio/virtio.c > @@ -3594,6 +3594,11 @@ EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq) > return &vq->host_notifier; > } > > +bool virtio_queue_host_notifier_status(const VirtQueue *vq) > +{ > + return vq->host_notifier_enabled; > +} > + > void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled) Since there is a virtio_queue_set_host_notifier_enabled() I suggest calling this function virtio_queue_is_host_notifier_enabled() or virtio_queue_get_host_notifier_enabled(). That way it's clear they set/get the same thing. Stefan
On Wed, Feb 17, 2021 at 1:41 PM Stefan Hajnoczi <stefanha@redhat.com> wrote: > > On Tue, Feb 09, 2021 at 04:37:52PM +0100, Eugenio Pérez wrote: > > This allows shadow virtqueue code to assert the queue status before > > making changes. > > > > Signed-off-by: Eugenio Pérez <eperezma@redhat.com> > > --- > > include/hw/virtio/virtio.h | 1 + > > hw/virtio/virtio.c | 5 +++++ > > 2 files changed, 6 insertions(+) > > > > diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h > > index b7ece7a6a8..227cec13a8 100644 > > --- a/include/hw/virtio/virtio.h > > +++ b/include/hw/virtio/virtio.h > > @@ -316,6 +316,7 @@ void virtio_device_release_ioeventfd(VirtIODevice *vdev); > > bool virtio_device_ioeventfd_enabled(VirtIODevice *vdev); > > EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq); > > void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled); > > +bool virtio_queue_host_notifier_status(const VirtQueue *vq); > > void virtio_queue_host_notifier_read(EventNotifier *n); > > void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx, > > VirtIOHandleAIOOutput handle_output); > > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c > > index 1fd1917ca0..53473ae4df 100644 > > --- a/hw/virtio/virtio.c > > +++ b/hw/virtio/virtio.c > > @@ -3594,6 +3594,11 @@ EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq) > > return &vq->host_notifier; > > } > > > > +bool virtio_queue_host_notifier_status(const VirtQueue *vq) > > +{ > > + return vq->host_notifier_enabled; > > +} > > + > > void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled) > > Since there is a virtio_queue_set_host_notifier_enabled() I suggest > calling this function virtio_queue_is_host_notifier_enabled() or > virtio_queue_get_host_notifier_enabled(). That way it's clear they > set/get the same thing. > I agree, will change. Thanks! > Stefan
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index b7ece7a6a8..227cec13a8 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -316,6 +316,7 @@ void virtio_device_release_ioeventfd(VirtIODevice *vdev); bool virtio_device_ioeventfd_enabled(VirtIODevice *vdev); EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq); void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled); +bool virtio_queue_host_notifier_status(const VirtQueue *vq); void virtio_queue_host_notifier_read(EventNotifier *n); void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx, VirtIOHandleAIOOutput handle_output); diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 1fd1917ca0..53473ae4df 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -3594,6 +3594,11 @@ EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq) return &vq->host_notifier; } +bool virtio_queue_host_notifier_status(const VirtQueue *vq) +{ + return vq->host_notifier_enabled; +} + void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled) { vq->host_notifier_enabled = enabled;
This allows shadow virtqueue code to assert the queue status before making changes. Signed-off-by: Eugenio Pérez <eperezma@redhat.com> --- include/hw/virtio/virtio.h | 1 + hw/virtio/virtio.c | 5 +++++ 2 files changed, 6 insertions(+)