From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [RFC V5 PATCH 8/8] vhost: event suppression for packed ring Date: Thu, 31 May 2018 11:09:07 +0800 Message-ID: <12f2c455-5868-3b07-0eba-d49dcafd10f2@redhat.com> References: <1527559830-8133-1-git-send-email-jasowang@redhat.com> <1527559830-8133-9-git-send-email-jasowang@redhat.com> <20180530114200.GA23792@wei-ubt> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Cc: mst@redhat.com, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, jfreimann@redhat.com, tiwei.bie@intel.com To: Wei Xu Return-path: In-Reply-To: <20180530114200.GA23792@wei-ubt> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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