Re: [Qemu-devel] [PATCH v6] x86: use lock+addl for smp_mb()

2017-11-09 Thread Peter Zijlstra
On Fri, Oct 27, 2017 at 07:14:31PM +0300, Michael S. Tsirkin wrote: > The one difference between lock+add and mfence is that lock+addl does > not affect clflush, previous patches converted all uses of clflush to > call mb(), such that changes to smp_mb won't affect it. > > Update mb/rmb/wmb on 32

[Qemu-devel] [PATCH v6] x86: use lock+addl for smp_mb()

2017-10-27 Thread Michael S. Tsirkin
mfence appears to be way slower than a locked instruction - let's use lock+add unconditionally, as we always did on old 32-bit. Results: perf stat -r 10 -- ./virtio_ring_0_9 --sleep --host-affinity 0 --guest-affinity 0 Before: 0.922565990 seconds time elapsed