aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/perf_counter/perf.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-05-23 12:28:58 -0400
committerIngo Molnar <mingo@elte.hu>2009-05-23 13:37:46 -0400
commit1a482f38c5aafeb3576079a38a5b21b46619f3d2 (patch)
tree6946791cf82545e1a2bd0baa8e70a9d7ec17ee68 /Documentation/perf_counter/perf.h
parent682076ae1de0aba9c2da509f7b19dc03e30a6e1f (diff)
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 @@
1#ifndef _PERF_PERF_H 1#ifndef _PERF_PERF_H
2#define _PERF_PERF_H 2#define _PERF_PERF_H
3 3
4#if defined(__x86_64__) || defined(__i386__)
5#include "../../arch/x86/include/asm/unistd.h"
6#define rmb() asm volatile("lfence" ::: "memory")
7#define cpu_relax() asm volatile("rep; nop" ::: "memory");
8#endif
9
10#ifdef __powerpc__
11#include "../../arch/powerpc/include/asm/unistd.h"
12#define rmb() asm volatile ("sync" ::: "memory")
13#define cpu_relax() asm volatile ("" ::: "memory");
14#endif
15
16#include <time.h>
17#include <unistd.h>
18#include <sys/types.h>
19#include <sys/syscall.h>
20
21#include "../../include/linux/perf_counter.h"
22
4/* 23/*
5 * prctl(PR_TASK_PERF_COUNTERS_DISABLE) will (cheaply) disable all 24 * prctl(PR_TASK_PERF_COUNTERS_DISABLE) will (cheaply) disable all
6 * counters in the current task. 25 * counters in the current task.
@@ -26,18 +45,6 @@ static inline unsigned long long rdclock(void)
26#define __user 45#define __user
27#define asmlinkage 46#define asmlinkage
28 47
29#if defined(__x86_64__) || defined(__i386__)
30#include "../../arch/x86/include/asm/unistd.h"
31#define rmb() asm volatile("lfence" ::: "memory")
32#define cpu_relax() asm volatile("rep; nop" ::: "memory");
33#endif
34
35#ifdef __powerpc__
36#include "../../arch/powerpc/include/asm/unistd.h"
37#define rmb() asm volatile ("sync" ::: "memory")
38#define cpu_relax() asm volatile ("" ::: "memory");
39#endif
40
41#define unlikely(x) __builtin_expect(!!(x), 0) 48#define unlikely(x) __builtin_expect(!!(x), 0)
42#define min(x, y) ({ \ 49#define min(x, y) ({ \
43 typeof(x) _min1 = (x); \ 50 typeof(x) _min1 = (x); \