From c44ef550e1b740ce6a37de0d698c07e6ba4640b5 Mon Sep 17 00:00:00 2001 From: Peter Grehan Date: Thu, 13 Sep 2012 00:36:46 +0000 Subject: [PATCH] Relax requirement of certain mb()s Submitted by: Bryan Venteicher bryanv at daemoninthecloset org --- sys/dev/virtio/virtqueue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c index 83d39ba2ed94..0511609b2f3d 100644 --- a/sys/dev/virtio/virtqueue.c +++ b/sys/dev/virtio/virtqueue.c @@ -525,7 +525,7 @@ virtqueue_dequeue(struct virtqueue *vq, uint32_t *len) used_idx = vq->vq_used_cons_idx++ & (vq->vq_nentries - 1); uep = &vq->vq_ring.used->ring[used_idx]; - mb(); + rmb(); desc_idx = (uint16_t) uep->id; if (len != NULL) *len = uep->len; @@ -623,7 +623,7 @@ vq_ring_update_avail(struct virtqueue *vq, uint16_t desc_idx) avail_idx = vq->vq_ring.avail->idx & (vq->vq_nentries - 1); vq->vq_ring.avail->ring[avail_idx] = desc_idx; - mb(); + wmb(); vq->vq_ring.avail->idx++; /* Keep pending count until virtqueue_notify(). */