This patchset adds three programs that stress and measure different futex
operations: (i) uaddr hashing, (ii) wakeups and (iii) requeuing/waiting.

More details and usage examples in each individual patch, along with parameter
descriptions in the code.

While the previous effort (https://lkml.org/lkml/2012/5/17/207) to add futex 
benchmarks to perf-bench failed, I strongly believe that perf is an ideal place 
for these kinds of programs. This patchset is different from Hitoshi's because
it does not try to take over Darren's futextest suite, and only deals with 
finer grained aspects of the kernel's implementation, and thus mostly useful
for kernel hacking. Furthermore, by being part of the kernel tree, it can get
more attention and naturally evolve with time.

Thanks!

Davidlohr Bueso (3):
  perf-bench: add futex-hash microbenchmark
  perf-bench: add futex-wake microbenchmark
  perf-bench: add futex-requeue microbenchmark

 tools/perf/Makefile.perf         |   3 +
 tools/perf/bench/bench.h         |   3 +
 tools/perf/bench/futex-hash.c    | 212 +++++++++++++++++++++++++++++++++++++++
 tools/perf/bench/futex-requeue.c | 211 ++++++++++++++++++++++++++++++++++++++
 tools/perf/bench/futex-wake.c    | 201 +++++++++++++++++++++++++++++++++++++
 tools/perf/bench/futex.h         |  71 +++++++++++++
 tools/perf/builtin-bench.c       |  12 ++-
 tools/perf/perf.h                |   6 ++
 8 files changed, 718 insertions(+), 1 deletion(-)
 create mode 100644 tools/perf/bench/futex-hash.c
 create mode 100644 tools/perf/bench/futex-requeue.c
 create mode 100644 tools/perf/bench/futex-wake.c
 create mode 100644 tools/perf/bench/futex.h

-- 
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to