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 int bench_numa(int argc, const char **argv); 29 int bench_sched_messaging(int argc, const char **argv); 30 int bench_sched_pipe(int argc, const char **argv); 31 int bench_mem_memcpy(int argc, const char **argv); 32 int bench_mem_memset(int argc, const char **argv); 33 int bench_futex_hash(int argc, const char **argv); 34 int bench_futex_wake(int argc, const char **argv); 35 int bench_futex_wake_parallel(int argc, const char **argv); 36 int bench_futex_requeue(int argc, const char **argv); 37 /* pi futexes */ 38 int bench_futex_lock_pi(int argc, const char **argv); 39 40 #define BENCH_FORMAT_DEFAULT_STR "default" 41 #define BENCH_FORMAT_DEFAULT 0 42 #define BENCH_FORMAT_SIMPLE_STR "simple" 43 #define BENCH_FORMAT_SIMPLE 1 44 45 #define BENCH_FORMAT_UNKNOWN -1 46 47 extern int bench_format; 48 extern unsigned int bench_repeat; 49 50 #endif 51