src/dpdk/drivers/net/virtio/virtqueue.h
static inline void
virtio_mb(uint8_t weak_barriers)
{
	if (weak_barriers)
		rte_atomic_thread_fence(__ATOMIC_SEQ_CST);
	else
		rte_mb();
}
/*
 * Per virtio_ring.h in Linux.
 *     For virtio_pci on SMP, we don't need to order with respect to MMIO
 *     accesses through relaxed memory I/O windows, so thread_fence is
 *     sufficient.
 *
 *     For using virtio to talk to real devices (eg. vDPA) we do need real
 *     barriers.
 */


For using virtio to talk to real devices  we do need real
barriers.
For using virtio to talk to real devices we do need real barriers .
static inline void
virtio_mb(uint8_t weak_barriers)
{
	if (weak_barriers)
		rte_atomic_thread_fence(__ATOMIC_SEQ_CST);
	else
		rte_mb();
}
static inline void virtio_mb ( uint8_t weak_barriers ) { if ( weak_barriers ) rte_atomic_thread_fence ( __ATOMIC_SEQ_CST ) ; else rte_mb ( ) ; }
Per virtio_ring.h in Linux.
Per virtio_ring . h in Linux .