diff options
| author | Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp> | 2009-11-09 18:20:02 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-11-09 22:53:49 -0500 |
| commit | 158ba827f6deef4102c5247ed4b6a587f0bd6a07 (patch) | |
| tree | 82e1f98d623aa6dac771b5d87ca4283f3a022456 | |
| parent | cced06c62a9db6bd6d77e3f0a57dbe47a26d881e (diff) | |
perf bench: Modify builtin-pipe.c for processing common options
This patch modifies builtin-pipe.c for processing common
options. The first option added is "--format".
Users of perf bench will be able to specify output style by
--format.
Usage example:
% ./perf bench sched pipe # with no style specify
(executing 1000000 pipe operations between two tasks)
Total time:5.855 sec
5.855061 usecs/op
170792 ops/sec
% ./perf bench --format=simple sched pipe # specified simple
5.988
Signed-off-by: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1257808802-9420-5-git-send-email-mitake@dcl.info.waseda.ac.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
| -rw-r--r-- | tools/perf/bench/sched-pipe.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/tools/perf/bench/sched-pipe.c b/tools/perf/bench/sched-pipe.c index 6a29100e9282..a9ac186714b4 100644 --- a/tools/perf/bench/sched-pipe.c +++ b/tools/perf/bench/sched-pipe.c | |||
| @@ -30,14 +30,10 @@ | |||
| 30 | 30 | ||
| 31 | #define LOOPS_DEFAULT 1000000 | 31 | #define LOOPS_DEFAULT 1000000 |
| 32 | static int loops = LOOPS_DEFAULT; | 32 | static int loops = LOOPS_DEFAULT; |
| 33 | static int simple = 0; | ||
| 34 | 33 | ||
| 35 | static const struct option options[] = { | 34 | static const struct option options[] = { |
| 36 | OPT_INTEGER('l', "loop", &loops, | 35 | OPT_INTEGER('l', "loop", &loops, |
| 37 | "Specify number of loops"), | 36 | "Specify number of loops"), |
| 38 | OPT_BOOLEAN('s', "simple-output", &simple, | ||
| 39 | "Do simple output (this maybe useful for" | ||
| 40 | "processing by scripts or graph tools like gnuplot)"), | ||
| 41 | OPT_END() | 37 | OPT_END() |
| 42 | }; | 38 | }; |
| 43 | 39 | ||
| @@ -94,10 +90,8 @@ int bench_sched_pipe(int argc, const char **argv, | |||
| 94 | return 0; | 90 | return 0; |
| 95 | } | 91 | } |
| 96 | 92 | ||
| 97 | if (simple) | 93 | switch (bench_format) { |
| 98 | printf("%lu.%03lu\n", | 94 | case BENCH_FORMAT_DEFAULT: |
| 99 | diff.tv_sec, diff.tv_usec / 1000); | ||
| 100 | else { | ||
| 101 | printf("(executing %d pipe operations between two tasks)\n\n", | 95 | printf("(executing %d pipe operations between two tasks)\n\n", |
| 102 | loops); | 96 | loops); |
| 103 | 97 | ||
| @@ -111,6 +105,18 @@ int bench_sched_pipe(int argc, const char **argv, | |||
| 111 | printf("\t\t%d ops/sec\n", | 105 | printf("\t\t%d ops/sec\n", |
| 112 | (int)((double)loops / | 106 | (int)((double)loops / |
| 113 | ((double)result_usec / (double)1000000))); | 107 | ((double)result_usec / (double)1000000))); |
| 108 | break; | ||
| 109 | |||
| 110 | case BENCH_FORMAT_SIMPLE: | ||
| 111 | printf("%lu.%03lu\n", | ||
| 112 | diff.tv_sec, diff.tv_usec / 1000); | ||
| 113 | break; | ||
| 114 | |||
| 115 | default: | ||
| 116 | /* reaching here is something disaster */ | ||
| 117 | fprintf(stderr, "Unknown format:%d\n", bench_format); | ||
| 118 | exit(1); | ||
| 119 | break; | ||
| 114 | } | 120 | } |
| 115 | 121 | ||
| 116 | return 0; | 122 | return 0; |
