Re: [PATCH v5 0/7] Adding general performance benchmarkingsubcommand to perf.

From: Ingo Molnar
Date: Sun Nov 08 2009 - 04:21:48 EST



* Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> wrote:

> This patch series add general benchmark subcommand to perf.
>
> The subcommand will unify the benchmarking programs
> and provide these in standardized way.
>
> I fixed this series for latest tip tree.
> My previous patch series conflicts with cmd_probe().
> So please discard v4 and use this v5.
>
> Hitoshi Mitake (7):
> Adding new directory and header for new subcommand 'bench'
> sched-messaging.c: benchmark for scheduler and IPC mechanisms based
> on hackbench
> sched-pipe.c: benchmark for pipe() system call
> builtin-bench.c: General framework for benchmark suites
> Modifying builtin.h for new prototype
> Modyfing perf.c for subcommand 'bench'
> Modyfing Makefile to build subcommand 'bench'
>
> tools/perf/Makefile | 6 +
> tools/perf/bench/bench.h | 9 +
> tools/perf/bench/sched-messaging.c | 332 ++++++++++++++++++++++++++++++++++++
> tools/perf/bench/sched-pipe.c | 113 ++++++++++++
> tools/perf/builtin-bench.c | 128 ++++++++++++++
> tools/perf/builtin.h | 1 +
> tools/perf/perf.c | 1 +
> 7 files changed, 590 insertions(+), 0 deletions(-)
> create mode 100644 tools/perf/bench/bench.h
> create mode 100644 tools/perf/bench/sched-messaging.c
> create mode 100644 tools/perf/bench/sched-pipe.c
> create mode 100644 tools/perf/builtin-bench.c

Looks good - i've applied the patches to tip:perf/bench, thanks!

There's one small bug i noticed:

$ ./perf bench sched pipe
(executing 1000000 pipe operations between two tasks)

Total time:4.898 sec
$ 4.898586 usecs/op
204140 ops/sec


the shell prompt came back before the usecs/op and ops/sec line was
printed. Process teardown race, lack of wait() or so?

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