Thread (51 messages) flat view 51 messages, 5 authors, 2011-05-20

Re: [PATCH 07/18] virtio ring: inline function to check for events

From: Stefan Hajnoczi <hidden>
Date: 2011-05-05 08:34:50
Also in: kvm, linux-s390, lkml

On Wed, May 4, 2011 at 9:51 PM, Michael S. Tsirkin [off-list ref] wrote:
quoted hunk ↗ jump to hunk
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 <mst@redhat.com>
---
 include/linux/virtio_ring.h |   14 ++++++++++++++
 1 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)
               + sizeof(__u16) * 3 + sizeof(struct vring_used_elem) * num;
 }

+/* 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help