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

Reply via email to