]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - tools/perf/bench/bench.h
Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[mirror_ubuntu-eoan-kernel.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 extern int bench_futex_hash(int argc, const char **argv, const char *prefix);
35 extern int bench_futex_wake(int argc, const char **argv, const char *prefix);
36 extern int bench_futex_wake_parallel(int argc, const char **argv,
37 const char *prefix);
38 extern int bench_futex_requeue(int argc, const char **argv, const char *prefix);
39 /* pi futexes */
40 extern int bench_futex_lock_pi(int argc, const char **argv, const char *prefix);
41
42 #define BENCH_FORMAT_DEFAULT_STR "default"
43 #define BENCH_FORMAT_DEFAULT 0
44 #define BENCH_FORMAT_SIMPLE_STR "simple"
45 #define BENCH_FORMAT_SIMPLE 1
46
47 #define BENCH_FORMAT_UNKNOWN -1
48
49 extern int bench_format;
50 extern unsigned int bench_repeat;
51
52 #endif