[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v4 16/20] vhost: Check for device VRING_USED_F_NO_NOTIFY
From: |
Eugenio Perez Martin |
Subject: |
Re: [RFC PATCH v4 16/20] vhost: Check for device VRING_USED_F_NO_NOTIFY at shadow virtqueue kick |
Date: |
Fri, 15 Oct 2021 08:17:15 +0200 |
On Wed, Oct 13, 2021 at 6:35 AM Jason Wang <jasowang@redhat.com> wrote:
>
>
> 在 2021/10/1 下午3:05, Eugenio Pérez 写道:
> > Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> > ---
> > hw/virtio/vhost-shadow-virtqueue.c | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/hw/virtio/vhost-shadow-virtqueue.c
> > b/hw/virtio/vhost-shadow-virtqueue.c
> > index df7e6fa3ec..775f8d36a0 100644
> > --- a/hw/virtio/vhost-shadow-virtqueue.c
> > +++ b/hw/virtio/vhost-shadow-virtqueue.c
> > @@ -173,6 +173,15 @@ static void vhost_svq_add(VhostShadowVirtqueue *svq,
> > VirtQueueElement *elem)
> > svq->ring_id_maps[qemu_head] = elem;
> > }
> >
> > +static void vhost_svq_kick(VhostShadowVirtqueue *svq)
> > +{
> > + /* Make sure we are reading updated device flag */
>
>
> I guess this would be better:
>
> /* We need to expose available array entries before checking used
> * flags. */
>
> (Borrowed from kernel codes).
>
> Thanks
>
Right, I will replace it, thanks!
>
> > + smp_mb();
> > + if (!(svq->vring.used->flags & VRING_USED_F_NO_NOTIFY)) {
> > + event_notifier_set(&svq->kick_notifier);
> > + }
> > +}
> > +
> > /* Handle guest->device notifications */
> > static void vhost_handle_guest_kick(EventNotifier *n)
> > {
> > @@ -197,7 +206,7 @@ static void vhost_handle_guest_kick(EventNotifier *n)
> > }
> >
> > vhost_svq_add(svq, elem);
> > - event_notifier_set(&svq->kick_notifier);
> > + vhost_svq_kick(svq);
> > }
> >
> > virtio_queue_set_notification(svq->vq, true);
>
- Re: [RFC PATCH v4 15/20] vhost: Shadow virtqueue buffers forwarding, (continued)
Re: [RFC PATCH v4 15/20] vhost: Shadow virtqueue buffers forwarding, Jason Wang, 2021/10/13
[RFC PATCH v4 16/20] vhost: Check for device VRING_USED_F_NO_NOTIFY at shadow virtqueue kick, Eugenio Pérez, 2021/10/01
[RFC PATCH v4 17/20] vhost: Use VRING_AVAIL_F_NO_INTERRUPT at device call on shadow virtqueue, Eugenio Pérez, 2021/10/01
[RFC PATCH v4 18/20] vhost: Add VhostIOVATree, Eugenio Pérez, 2021/10/01
- Re: [RFC PATCH v4 18/20] vhost: Add VhostIOVATree, Jason Wang, 2021/10/19
- Re: [RFC PATCH v4 18/20] vhost: Add VhostIOVATree, Jason Wang, 2021/10/19
- Re: [RFC PATCH v4 18/20] vhost: Add VhostIOVATree, Eugenio Perez Martin, 2021/10/20
- Re: [RFC PATCH v4 18/20] vhost: Add VhostIOVATree, Jason Wang, 2021/10/20
- Re: [RFC PATCH v4 18/20] vhost: Add VhostIOVATree, Eugenio Perez Martin, 2021/10/20
- Re: [RFC PATCH v4 18/20] vhost: Add VhostIOVATree, Jason Wang, 2021/10/20