Relax requirement of certain mb()s

Submitted by:	Bryan Venteicher bryanv at daemoninthecloset org
This commit is contained in:
Peter Grehan 2012-09-13 00:36:46 +00:00
parent e48063402c
commit c44ef550e1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=240427

View file

@ -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(). */