linux/tools/perf/bench/bench.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef BENCH_H
   3#define BENCH_H
   4
   5/*
   6 * The madvise transparent hugepage constants were added in glibc
   7 * 2.13. For compatibility with older versions of glibc, define these
   8 * tokens if they are not already defined.
   9 *
  10 * PA-RISC uses different madvise values from other architectures and
  11 * needs to be special-cased.
  12 */
  13#ifdef __hppa__
  14# ifndef MADV_HUGEPAGE
  15#  define MADV_HUGEPAGE         67
  16# endif
  17# ifndef MADV_NOHUGEPAGE
  18#  define MADV_NOHUGEPAGE       68
  19# endif
  20#else
  21# ifndef MADV_HUGEPAGE
  22#  define MADV_HUGEPAGE         14
  23# endif
  24# ifndef MADV_NOHUGEPAGE
  25#  define MADV_NOHUGEPAGE       15
  26# endif
  27#endif
  28
  29int bench_numa(int argc, const char **argv);
  30int bench_sched_messaging(int argc, const char **argv);
  31int bench_sched_pipe(int argc, const char **argv);
  32int bench_mem_memcpy(int argc, const char **argv);
  33int bench_mem_memset(int argc, const char **argv);
  34int bench_futex_hash(int argc, const char **argv);
  35int bench_futex_wake(int argc, const char **argv);
  36int bench_futex_wake_parallel(int argc, const char **argv);
  37int bench_futex_requeue(int argc, const char **argv);
  38/* pi futexes */
  39int bench_futex_lock_pi(int argc, const char **argv);
  40
  41#define BENCH_FORMAT_DEFAULT_STR        "default"
  42#define BENCH_FORMAT_DEFAULT            0
  43#define BENCH_FORMAT_SIMPLE_STR         "simple"
  44#define BENCH_FORMAT_SIMPLE             1
  45
  46#define BENCH_FORMAT_UNKNOWN            -1
  47
  48extern int bench_format;
  49extern unsigned int bench_repeat;
  50
  51#endif
  52