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_requeue(int argc, const char **argv, const char *prefix); 37 38 #define BENCH_FORMAT_DEFAULT_STR "default" 39 #define BENCH_FORMAT_DEFAULT 0 40 #define BENCH_FORMAT_SIMPLE_STR "simple" 41 #define BENCH_FORMAT_SIMPLE 1 42 43 #define BENCH_FORMAT_UNKNOWN -1 44 45 extern int bench_format; 46 extern unsigned int bench_repeat; 47 48 #endif 49