perf tools: Fix LIBNUMA build with glibc 2.12 and older.
[linux-3.10.git] / tools / perf / bench / bench.h
1 #ifndef BENCH_H
2 #define BENCH_H
3
4 /*
5  * The madvise transparent hugepage constants were added in glibc
6  * 2.13. For compatibility with older versions of glibc, define these
7  * tokens if they are not already defined.
8  *
9  * PA-RISC uses different madvise values from other architectures and
10  * needs to be special-cased.
11  */
12 #ifdef __hppa__
13 # ifndef MADV_HUGEPAGE
14 #  define MADV_HUGEPAGE         67
15 # endif
16 # ifndef MADV_NOHUGEPAGE
17 #  define MADV_NOHUGEPAGE       68
18 # endif
19 #else
20 # ifndef MADV_HUGEPAGE
21 #  define MADV_HUGEPAGE         14
22 # endif
23 # ifndef MADV_NOHUGEPAGE
24 #  define MADV_NOHUGEPAGE       15
25 # endif
26 #endif
27
28 extern int bench_numa(int argc, const char **argv, const char *prefix);
29 extern int bench_sched_messaging(int argc, const char **argv, const char *prefix);
30 extern int bench_sched_pipe(int argc, const char **argv, const char *prefix);
31 extern int bench_mem_memcpy(int argc, const char **argv,
32                             const char *prefix __maybe_unused);
33 extern int bench_mem_memset(int argc, const char **argv, const char *prefix);
34
35 #define BENCH_FORMAT_DEFAULT_STR        "default"
36 #define BENCH_FORMAT_DEFAULT            0
37 #define BENCH_FORMAT_SIMPLE_STR         "simple"
38 #define BENCH_FORMAT_SIMPLE             1
39
40 #define BENCH_FORMAT_UNKNOWN            -1
41
42 extern int bench_format;
43
44 #endif