bus/vmbus: use SMP memory barrier for signaling read
authorLong Li <longli@microsoft.com>
Fri, 17 Jul 2020 20:18:29 +0000 (13:18 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 29 Jul 2020 14:17:54 +0000 (16:17 +0200)
rte_smp_mb() uses the same locked ADD as the in-kernel vmbus driver,
and it has slightly performance improvement over rte_mb().

Signed-off-by: Long Li <longli@microsoft.com>
drivers/bus/vmbus/vmbus_channel.c

index ff2985c..4f5578e 100644 (file)
@@ -214,7 +214,7 @@ void rte_vmbus_chan_signal_read(struct vmbus_channel *chan, uint32_t bytes_read)
                return;
 
        /* Make sure reading of pending happens after new read index */
-       rte_mb();
+       rte_smp_mb();
 
        pending_sz = rbr->vbr->pending_send;
        if (!pending_sz)