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 28extern int bench_numa(int argc, const char **argv, const char *prefix); 29extern int bench_sched_messaging(int argc, const char **argv, const char *prefix); 30extern int bench_sched_pipe(int argc, const char **argv, const char *prefix); 31extern int bench_mem_memcpy(int argc, const char **argv, 32 const char *prefix __maybe_unused); 33extern int bench_mem_memset(int argc, const char **argv, const char *prefix); 34extern int bench_futex_hash(int argc, const char **argv, const char *prefix); 35extern int bench_futex_wake(int argc, const char **argv, const char *prefix); 36extern 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 45extern int bench_format; 46extern unsigned int bench_repeat; 47 48#endif 49