From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Hajnoczi Subject: Re: [PATCH 07/18] virtio ring: inline function to check for events Date: Thu, 5 May 2011 09:34:46 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: "Michael S. Tsirkin" Cc: Krishna Kumar , Carsten Otte , lguest@lists.ozlabs.org, Shirley Ma , kvm@vger.kernel.org, linux-s390@vger.kernel.org, netdev@vger.kernel.org, habanero@linux.vnet.ibm.com, Heiko Carstens , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, steved@us.ibm.com, Christian Borntraeger , Tom Lendacky , Martin Schwidefsky , linux390@de.ibm.com List-Id: virtualization@lists.linuxfoundation.org On Wed, May 4, 2011 at 9:51 PM, Michael S. Tsirkin wrote: > With the new used_event and avail_event and features, both > host and guest need similar logic to check whether events are > enabled, so it helps to put the common code in the header. > > Note that Xen has similar logic for notification hold-off > in include/xen/interface/io/ring.h with req_event and req_prod > corresponding to event_idx + 1 and new_idx respectively. > +1 comes from the fact that req_event and req_prod in Xen start at 1, > while event index in virtio starts at 0. > > Signed-off-by: Michael S. Tsirkin > --- > =A0include/linux/virtio_ring.h | =A0 14 ++++++++++++++ > =A01 files changed, 14 insertions(+), 0 deletions(-) > > diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h > index f791772..2a3b0ea 100644 > --- a/include/linux/virtio_ring.h > +++ b/include/linux/virtio_ring.h > @@ -124,6 +124,20 @@ static inline unsigned vring_size(unsigned int num, = unsigned long align) > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0+ sizeof(__u16) * 3 + sizeof(struct vring_= used_elem) * num; > =A0} > > +/* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */ > +/* Assuming a given event_idx value from the other size, if s/other size/other side/ ? Stefan