Skip to contentSkip to conversation

perf tools: Move barrier() definition to tools/ include/linux/compiler.h

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message May 10, 2015 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  5ac69737dc5e25fb1c26d18059c8e17ce2671d5d
Gitweb:     http://git.kernel.org/tip/5ac69737dc5e25fb1c26d18059c8e17ce2671d5d
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Thu, 7 May 2015 13:38:16 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Fri, 8 May 2015 16:05:04 -0300

perf tools: Move barrier() definition to tools/include/linux/compiler.h

To make it generally accessible by other tools/ projects, also will be used in the tools/arch/*/include/asm/barrier.h files that are being introduced now.

Cc Adrian Hunter <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Stephane Eranian <[email protected]>
---
 tools/include/linux/compiler.h | 4 ++++
 tools/perf/perf-sys.h          | 2 --
 2 files changed, 4 insertions(+), 2 deletions(-)
tools/include/linux/compiler.h +4 -0
index 88461f0..f0e7267 100644
@@ -1,6 +1,10 @@
 #ifndef _TOOLS_LINUX_COMPILER_H_
 #define _TOOLS_LINUX_COMPILER_H_
 
+/* Optimization barrier */
+/* The "volatile" is due to gcc bugs */
+#define barrier() __asm__ __volatile__("": : :"memory")
+
 #ifndef __always_inline
 # define __always_inline	inline __attribute__((always_inline))
 #endif
tools/perf/perf-sys.h +0 -2
index bf349ea..f44e53e 100644
@@ -153,8 +153,6 @@
 #define CPUINFO_PROC    {"model name"}
 #endif
 
-#define barrier() asm volatile ("" ::: "memory")
-
 #ifndef cpu_relax
 #define cpu_relax() barrier()
 #endif