summaryrefslogtreecommitdiff
path: root/Documentation/perf_counter/perf.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-05-23 18:28:58 +0200
committerIngo Molnar <mingo@elte.hu>2009-05-23 19:37:46 +0200
commit1a482f38c5aafeb3576079a38a5b21b46619f3d2 (patch)
tree6946791cf82545e1a2bd0baa8e70a9d7ec17ee68 /Documentation/perf_counter/perf.h
parent682076ae1de0aba9c2da509f7b19dc03e30a6e1f (diff)
downloadlwn-1a482f38c5aafeb3576079a38a5b21b46619f3d2.tar.gz
lwn-1a482f38c5aafeb3576079a38a5b21b46619f3d2.zip
perf_counter: Fix userspace build
recent userspace (F11) seems to already include the linux/unistd.h bits which means we cannot include the version in the kernel sources due to the header guards being the same. Ensure we include the kernel version first. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: John Kacur <jkacur@redhat.com> LKML-Reference: <20090523163012.739756497@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'Documentation/perf_counter/perf.h')
-rw-r--r--Documentation/perf_counter/perf.h31
1 files changed, 19 insertions, 12 deletions
diff --git a/Documentation/perf_counter/perf.h b/Documentation/perf_counter/perf.h
index 81a737444c8f..a517683fc661 100644
--- a/Documentation/perf_counter/perf.h
+++ b/Documentation/perf_counter/perf.h
@@ -1,6 +1,25 @@
#ifndef _PERF_PERF_H
#define _PERF_PERF_H
+#if defined(__x86_64__) || defined(__i386__)
+#include "../../arch/x86/include/asm/unistd.h"
+#define rmb() asm volatile("lfence" ::: "memory")
+#define cpu_relax() asm volatile("rep; nop" ::: "memory");
+#endif
+
+#ifdef __powerpc__
+#include "../../arch/powerpc/include/asm/unistd.h"
+#define rmb() asm volatile ("sync" ::: "memory")
+#define cpu_relax() asm volatile ("" ::: "memory");
+#endif
+
+#include <time.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/syscall.h>
+
+#include "../../include/linux/perf_counter.h"
+
/*
* prctl(PR_TASK_PERF_COUNTERS_DISABLE) will (cheaply) disable all
* counters in the current task.
@@ -26,18 +45,6 @@ static inline unsigned long long rdclock(void)
#define __user
#define asmlinkage
-#if defined(__x86_64__) || defined(__i386__)
-#include "../../arch/x86/include/asm/unistd.h"
-#define rmb() asm volatile("lfence" ::: "memory")
-#define cpu_relax() asm volatile("rep; nop" ::: "memory");
-#endif
-
-#ifdef __powerpc__
-#include "../../arch/powerpc/include/asm/unistd.h"
-#define rmb() asm volatile ("sync" ::: "memory")
-#define cpu_relax() asm volatile ("" ::: "memory");
-#endif
-
#define unlikely(x) __builtin_expect(!!(x), 0)
#define min(x, y) ({ \
typeof(x) _min1 = (x); \