Thread (12 messages) 12 messages, 2 authors, 2018-06-03

Re: [RFC V5 PATCH 8/8] vhost: event suppression for packed ring

From: Wei Xu <hidden>
Date: 2018-06-03 15:40:12
Also in: kvm, lkml

On Thu, May 31, 2018 at 11:09:07AM +0800, Jason Wang wrote:

On 2018年05月30日 19:42, Wei Xu wrote:
quoted
quoted
 /* 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.
OK, thanks.
Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help