It needs use virtio_wmb instead of virtio_rmb for store memory barrier. Signed-off-by: Changchun Ouyang <changchun.ouyang at intel.com> --- lib/librte_pmd_virtio/virtqueue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_pmd_virtio/virtqueue.h b/lib/librte_pmd_virtio/virtqueue.h index 6c45c27..41dda50 100644 --- a/lib/librte_pmd_virtio/virtqueue.h +++ b/lib/librte_pmd_virtio/virtqueue.h @@ -266,7 +266,7 @@ virtqueue_full(const struct virtqueue *vq) static inline void vq_update_avail_idx(struct virtqueue *vq) { - virtio_rmb(); + virtio_wmb(); vq->vq_ring.avail->idx = vq->vq_avail_idx; } -- 1.8.4.2