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; |