Messages in this thread | | | Subject | Re: [RFC V5 PATCH 8/8] vhost: event suppression for packed ring | From | Jason Wang <> | Date | Thu, 31 May 2018 11:09:07 +0800 |
| |
On 2018年05月30日 19:42, Wei Xu wrote: >> /* This actually signals the guest, using eventfd. */ >> void vhost_signal(struct vhost_dev *dev, struct vhost_virtqueue *vq) >> { >> @@ -2802,10 +2930,34 @@ static bool vhost_enable_notify_packed(struct vhost_dev *dev, >> struct vhost_virtqueue *vq) >> { >> struct vring_desc_packed *d = vq->desc_packed + vq->avail_idx; >> - __virtio16 flags; >> + __virtio16 flags = RING_EVENT_FLAGS_ENABLE; >> int ret; >> >> - /* FIXME: disable notification through device area */ >> + if (!(vq->used_flags & VRING_USED_F_NO_NOTIFY)) >> + return false; >> + vq->used_flags &= ~VRING_USED_F_NO_NOTIFY; > 'used_flags' was originally designed for 1.0, why should we pay attetion to it here? > > Wei
It was used to recored whether or not we've disabled notification. Then we can avoid unnecessary userspace writes or memory barriers.
Thanks
| |