[RFC 10/32] net/virtio: replcae rte_smp_rmb
Stephen Hemminger
stephen at networkplumber.org
Wed Jul 29 19:54:03 CEST 2026
Replace rte_smp_rmb with equivalent
rte_atomic_thread_fence(rte_memory_order_acquire).
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
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
More information about the dev
mailing list