summaryrefslogtreecommitdiffstats
path: root/tools/virtio
diff options
context:
space:
mode:
authorIngo Molnar2017-11-14 07:21:44 +0100
committerIngo Molnar2017-11-14 07:21:44 +0100
commit050ab10a645097e47c01cfab3ccf24167e9b266b (patch)
tree686b17c63933f187305a87fba696415dccd032ae /tools/virtio
parentobjtool: Fix cross-build (diff)
parentx86 / CPU: Avoid unnecessary IPIs in arch_freq_get_on_cpu() (diff)
downloadkernel-qcow2-linux-050ab10a645097e47c01cfab3ccf24167e9b266b.tar.gz
kernel-qcow2-linux-050ab10a645097e47c01cfab3ccf24167e9b266b.tar.xz
kernel-qcow2-linux-050ab10a645097e47c01cfab3ccf24167e9b266b.zip
Merge branch 'linus' into core/objtool, to pick up dependent commits
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/virtio')
-rw-r--r--tools/virtio/ringtest/main.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/virtio/ringtest/main.h b/tools/virtio/ringtest/main.h
index 90b0133004e1..5706e075adf2 100644
--- a/tools/virtio/ringtest/main.h
+++ b/tools/virtio/ringtest/main.h
@@ -110,11 +110,15 @@ static inline void busy_wait(void)
barrier();
}
+#if defined(__x86_64__) || defined(__i386__)
+#define smp_mb() asm volatile("lock; addl $0,-128(%%rsp)" ::: "memory", "cc")
+#else
/*
* Not using __ATOMIC_SEQ_CST since gcc docs say they are only synchronized
* with other __ATOMIC_SEQ_CST calls.
*/
#define smp_mb() __sync_synchronize()
+#endif
/*
* This abuses the atomic builtins for thread fences, and