From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43860) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Te5s1-000828-9x for qemu-devel@nongnu.org; Thu, 29 Nov 2012 10:17:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Te5rv-0004AJ-Ov for qemu-devel@nongnu.org; Thu, 29 Nov 2012 10:17:45 -0500 Received: from mx4-phx2.redhat.com ([209.132.183.25]:47876) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Te5rv-00047S-Gk for qemu-devel@nongnu.org; Thu, 29 Nov 2012 10:17:39 -0500 Date: Thu, 29 Nov 2012 10:17:37 -0500 (EST) From: Paolo Bonzini Message-ID: <947077682.16249399.1354202257305.JavaMail.root@redhat.com> In-Reply-To: <20121129125001.GB9372@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 04/11] dataplane: add virtqueue vring code List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Kevin Wolf , Anthony Liguori , qemu-devel@nongnu.org, Blue Swirl , khoa@us.ibm.com, Stefan Hajnoczi , Asias He > > +/* Toggle guest->host notifies */ > > +void vring_set_notification(VirtIODevice *vdev, Vring *vring, bool > > enable) > > +{ > > + if (vdev->guest_features & (1 << VIRTIO_RING_F_EVENT_IDX)) { > > + if (enable) { > > + vring_avail_event(&vring->vr) = vring->vr.avail->idx; > > + } > > + } else if (enable) { > > + vring->vr.used->flags &= ~VRING_USED_F_NO_NOTIFY; > > + } else { > > + vring->vr.used->flags |= VRING_USED_F_NO_NOTIFY; > > + } > > +} This is similar to the (guest-side) virtqueue_disable_cb/virtqueue_enable_cb. Perhaps having two functions will be easier to use, because from your other code it looks like you'd benefit from a return value when enable == true (again similar to virtqueue_enable_cb). Paolo