[dpdk-dev] [PATCH] virtio: fix idx in used ring retrieved only once

2016-06-20 Thread Yuanhan Liu
On Thu, Jun 16, 2016 at 02:30:37AM +0800, Huawei Xie wrote: > - while (vq->vq_used_cons_idx != vq->vq_ring.used->idx) { > + while (VIRTQUEUE_NUSED(vq)) { > uint32_t idx, desc_idx, used_idx; > struct vring_used_elem *uep; > > diff --git a/drivers/net/virtio/virt

[dpdk-dev] [PATCH] virtio: fix idx in used ring retrieved only once

2016-06-16 Thread Huawei Xie
In the following loop: while (vq->vq_used_cons_idx != vq->vq_ring.used->idx) { ... } There is no external function call or any explict memory barrier in the loop, the re-read of used->idx would be optimized and would only be retrieved once. use of voaltile normally should be pr