Re: [RFC][PATCH 7/7] Adding general performance benchmarkingsubsystem to perf.

From: Ingo Molnar
Date: Tue Nov 03 2009 - 02:47:12 EST



* Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> wrote:

>
> Adding general performance benchmarking subsystem to perf.
> This patch adds builtin-bench-pipe.c
>
> builtin-bench-pipe.c is a benchmark program
> to measure performance of pipe() system call.
> This benchmark is based on pipe-test-1m.c by Ingo Molnar.
> http://people.redhat.com/mingo/cfs-scheduler/tools/pipe-test-1m.c
>
> Signed-off-by: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Mike Galbraith <efault@xxxxxx>
> ---
> tools/perf/builtin-bench-pipe.c | 89 +++++++++++++++++++++++++++++++++++++++
> 1 files changed, 89 insertions(+), 0 deletions(-)
> create mode 100644 tools/perf/builtin-bench-pipe.c
>
> diff --git a/tools/perf/builtin-bench-pipe.c b/tools/perf/builtin-bench-pipe.c
> new file mode 100644
> index 0000000..081515e
> --- /dev/null
> +++ b/tools/perf/builtin-bench-pipe.c
> @@ -0,0 +1,89 @@
> +/*
> + *
> + * builtin-bench-pipe.c
> + *
> + * pipe: Benchmark for pipe()
> + *
> + * Based on pipe-test-1m.c by Ingo Molnar <mingo@xxxxxxxxxx>
> + * http://people.redhat.com/mingo/cfs-scheduler/tools/pipe-test-1m.c
> + * Ported to perf by Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx>
> + *
> + */

Ok, i think there's going to be quite a few of these benchmarks, so i'd
suggest you start a new directory for the benchmark modules:
tools/perf/bench/ for example.

We'll still have tools/perf/builtin-bench.c which represents the highest
level 'perf bench' tool - and new modules can be added by adding them to
bench/.

What do you think?

All in one, i very much like the modular direction you are taking here.

There will be a handful of more details i'm sure but once there's a good
base we can commit it - would you / will you be interested in extending
it further and adding more benchmark modules as well?

There's quite a few useful small benchmarks that people are using to
measure the kernel. Having a good collection of them in one place, with
standardized options and standardized output would be very useful.

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/