bench.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef BENCH_H
  3. #define BENCH_H
  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. int bench_numa(int argc, const char **argv);
  28. int bench_sched_messaging(int argc, const char **argv);
  29. int bench_sched_pipe(int argc, const char **argv);
  30. int bench_mem_memcpy(int argc, const char **argv);
  31. int bench_mem_memset(int argc, const char **argv);
  32. int bench_futex_hash(int argc, const char **argv);
  33. int bench_futex_wake(int argc, const char **argv);
  34. int bench_futex_wake_parallel(int argc, const char **argv);
  35. int bench_futex_requeue(int argc, const char **argv);
  36. /* pi futexes */
  37. int bench_futex_lock_pi(int argc, const char **argv);
  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. #define BENCH_FORMAT_UNKNOWN -1
  43. extern int bench_format;
  44. extern unsigned int bench_repeat;
  45. #endif