Replace rte_smp_rmb with equivalent rte_atomic_thread_fence(rte_memory_order_acquire).
Signed-off-by: Stephen Hemminger <[email protected]> --- drivers/net/virtio/virtqueue.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h index 1f0e6ae77e..37fbd47d42 100644 --- a/drivers/net/virtio/virtqueue.h +++ b/drivers/net/virtio/virtqueue.h @@ -445,15 +445,15 @@ virtqueue_nused(const struct virtqueue *vq) if (vq->hw->weak_barriers) { /** - * x86 prefers to using rte_smp_rmb over rte_atomic_load_explicit as it - * reports a slightly better perf, which comes from the saved + * x86 prefers to using rte_atomic_thread_fence over rte_atomic_load_explicit + * as it reports a slightly better perf, which comes from the saved * branch by the compiler. * The if and else branches are identical with the smp and io * barriers both defined as compiler barriers on x86. */ #ifdef RTE_ARCH_X86_64 idx = vq->vq_split.ring.used->idx; - rte_smp_rmb(); + rte_atomic_thread_fence(rte_memory_order_acquire); #else idx = rte_atomic_load_explicit(&(vq)->vq_split.ring.used->idx, rte_memory_order_acquire); -- 2.53.0

