Hi,
This patch series makes output of perf bench more better.
Current style, keeping user wait and print everything
suddenly after finish, is not good.
And current formatting for values are too ugly.
Example (case of messaging):
| % perf bench sched messaging
| # Running sched/messaging benchmark...
| # 20 sender and receiver processes per group
| # 10 groups == 400 processes run
|
| Total time:1.490 [sec]
Hitoshi Mitake (3):
perf bench: Fix builtin-bench.c for more friendly output
perf bench: Fix sched-pipe.c for more confortable output
perf bench: Fix sched-message.c for more confortable output
tools/perf/bench/sched-messaging.c | 6 +++---
tools/perf/bench/sched-pipe.c | 11 ++++++-----
tools/perf/builtin-bench.c | 4 ++++
3 files changed, 13 insertions(+), 8 deletions(-)
This patch makes output of perf bench more friendly.
Current style of putput, keeping user wait
and print everything suddenly after finish,
will confuse users. So I fixed it.
Example of use(case of messaging):
| % perf bench sched messaging
| # Running sched/messaging benchmark... <- printed right after invocation
| # 20 sender and receiver processes per group
| # 10 groups == 400 processes run
| Total time:1.476 [sec]
Signed-off-by: Hitoshi Mitake <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
---
tools/perf/builtin-bench.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c
index c7505ea..90c39ba 100644
--- a/tools/perf/builtin-bench.c
+++ b/tools/perf/builtin-bench.c
@@ -156,6 +156,10 @@ int cmd_bench(int argc, const char **argv, const char *prefix __used)
if (strcmp(subsystems[i].suites[j].name, argv[1]))
continue;
+ if (bench_format == BENCH_FORMAT_DEFAULT)
+ printf("# Running %s/%s benchmark...\n",
+ subsystems[i].name,
+ subsystems[i].suites[j].name);
status = subsystems[i].suites[j].fn(argc - 1,
argv + 1, prefix);
goto end;
--
1.5.6.5
This patch fixes sched-pipe.c for more confortable output.
Change points are comment style description and
formatting numerical values and its units.
Example of use:
| % ./perf bench sched pipe
| # Running sched/pipe benchmark...
| # Extecuted 1000000 pipe operations between two tasks
|
| Total time:5.822 [sec]
|
| 5.822553 usecs/op
| 171745 ops/sec
Signed-off-by: Hitoshi Mitake <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
---
tools/perf/bench/sched-pipe.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/tools/perf/bench/sched-pipe.c b/tools/perf/bench/sched-pipe.c
index a9ac186..97291fe 100644
--- a/tools/perf/bench/sched-pipe.c
+++ b/tools/perf/bench/sched-pipe.c
@@ -92,17 +92,18 @@ int bench_sched_pipe(int argc, const char **argv,
switch (bench_format) {
case BENCH_FORMAT_DEFAULT:
- printf("(executing %d pipe operations between two tasks)\n\n",
+ printf("# Extecuted %d pipe operations between two tasks\n\n",
loops);
result_usec = diff.tv_sec * 1000000;
result_usec += diff.tv_usec;
- printf("\tTotal time:%lu.%03lu sec\n",
- diff.tv_sec, diff.tv_usec / 1000);
- printf("\t\t%lf usecs/op\n",
+ printf(" %14s:%lu.%03lu [sec]\n\n", "Total time",
+ diff.tv_sec, diff.tv_usec/1000);
+
+ printf(" %14lf usecs/op\n",
(double)result_usec / (double)loops);
- printf("\t\t%d ops/sec\n",
+ printf(" %14d ops/sec\n",
(int)((double)loops /
((double)result_usec / (double)1000000)));
break;
--
1.5.6.5
This patch fixes sched-message.c for more confortable output.
Change points are comment style description and
formatting numerical values and its units.
Example of use:
| % perf bench sched messaging
| # Running sched/messaging benchmark...
| # 20 sender and receiver processes per group
| # 10 groups == 400 processes run
|
| Total time:1.490 [sec]
Signed-off-by: Hitoshi Mitake <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
---
tools/perf/bench/sched-messaging.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-messaging.c
index 2cc5edc..0a86dea 100644
--- a/tools/perf/bench/sched-messaging.c
+++ b/tools/perf/bench/sched-messaging.c
@@ -314,12 +314,12 @@ int bench_sched_messaging(int argc, const char **argv,
switch (bench_format) {
case BENCH_FORMAT_DEFAULT:
- printf("(%d sender and receiver %s per group)\n",
+ printf("# %d sender and receiver %s per group\n",
num_fds, thread_mode ? "threads" : "processes");
- printf("(%d groups == %d %s run)\n\n",
+ printf("# %d groups == %d %s run\n\n",
num_groups, num_groups * 2 * num_fds,
thread_mode ? "threads" : "processes");
- printf("\tTotal time:%lu.%03lu sec\n",
+ printf(" %14s:%lu.%03lu [sec]\n", "Total time",
diff.tv_sec, diff.tv_usec/1000);
break;
case BENCH_FORMAT_SIMPLE:
--
1.5.6.5
Commit-ID: 79e295d4bd0f524257299e7c4e42f643f21abcc2
Gitweb: http://git.kernel.org/tip/79e295d4bd0f524257299e7c4e42f643f21abcc2
Author: Hitoshi Mitake <[email protected]>
AuthorDate: Wed, 11 Nov 2009 00:04:00 +0900
Committer: Ingo Molnar <[email protected]>
CommitDate: Tue, 10 Nov 2009 19:56:44 +0100
perf bench: Improve builtin-bench.c for more friendly output
This patch makes output of perf bench more friendly.
Current style of putput, keeping user wait
and printing everything suddenly when we finish,
may confuse users.
So I improved it:
| % perf bench sched messaging
| # Running sched/messaging benchmark... <- printed right after invocation
| # 20 sender and receiver processes per group
| # 10 groups == 400 processes run
|
| Total time: 1.476 [sec]
Signed-off-by: Hitoshi Mitake <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
tools/perf/builtin-bench.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c
index c7505ea..90c39ba 100644
--- a/tools/perf/builtin-bench.c
+++ b/tools/perf/builtin-bench.c
@@ -156,6 +156,10 @@ int cmd_bench(int argc, const char **argv, const char *prefix __used)
if (strcmp(subsystems[i].suites[j].name, argv[1]))
continue;
+ if (bench_format == BENCH_FORMAT_DEFAULT)
+ printf("# Running %s/%s benchmark...\n",
+ subsystems[i].name,
+ subsystems[i].suites[j].name);
status = subsystems[i].suites[j].fn(argc - 1,
argv + 1, prefix);
goto end;
Commit-ID: ff676b193a401b23c84a79a7ec06559f3eaae917
Gitweb: http://git.kernel.org/tip/ff676b193a401b23c84a79a7ec06559f3eaae917
Author: Hitoshi Mitake <[email protected]>
AuthorDate: Wed, 11 Nov 2009 00:04:01 +0900
Committer: Ingo Molnar <[email protected]>
CommitDate: Tue, 10 Nov 2009 19:56:45 +0100
perf bench: Improve sched-pipe.c with more comfortable output
This patch improves sched-pipe.c with more comfortable output.
Change points are comment style description and
formatting numerical values and its units.
Example:
| % ./perf bench sched pipe
| # Running sched/pipe benchmark...
| # Extecuted 1000000 pipe operations between two tasks
|
| Total time:5.822 [sec]
|
| 5.822553 usecs/op
| 171745 ops/sec
Signed-off-by: Hitoshi Mitake <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
tools/perf/bench/sched-pipe.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/tools/perf/bench/sched-pipe.c b/tools/perf/bench/sched-pipe.c
index a9ac186..238185f 100644
--- a/tools/perf/bench/sched-pipe.c
+++ b/tools/perf/bench/sched-pipe.c
@@ -92,17 +92,18 @@ int bench_sched_pipe(int argc, const char **argv,
switch (bench_format) {
case BENCH_FORMAT_DEFAULT:
- printf("(executing %d pipe operations between two tasks)\n\n",
+ printf("# Extecuted %d pipe operations between two tasks\n\n",
loops);
result_usec = diff.tv_sec * 1000000;
result_usec += diff.tv_usec;
- printf("\tTotal time:%lu.%03lu sec\n",
- diff.tv_sec, diff.tv_usec / 1000);
- printf("\t\t%lf usecs/op\n",
+ printf(" %14s: %lu.%03lu [sec]\n\n", "Total time",
+ diff.tv_sec, diff.tv_usec/1000);
+
+ printf(" %14lf usecs/op\n",
(double)result_usec / (double)loops);
- printf("\t\t%d ops/sec\n",
+ printf(" %14d ops/sec\n",
(int)((double)loops /
((double)result_usec / (double)1000000)));
break;
Commit-ID: c5659b74f052150791750234f92dcfb29d27efa5
Gitweb: http://git.kernel.org/tip/c5659b74f052150791750234f92dcfb29d27efa5
Author: Hitoshi Mitake <[email protected]>
AuthorDate: Wed, 11 Nov 2009 00:04:02 +0900
Committer: Ingo Molnar <[email protected]>
CommitDate: Tue, 10 Nov 2009 19:56:46 +0100
perf bench: Improve sched-message.c with more comfortable output
This patch improves sched-message.c with more comfortable output.
Change points are comment style description and
formatting numerical values and its units.
Example:
| % perf bench sched messaging
| # Running sched/messaging benchmark...
| # 20 sender and receiver processes per group
| # 10 groups == 400 processes run
|
| Total time: 1.490 [sec]
Signed-off-by: Hitoshi Mitake <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
---
tools/perf/bench/sched-messaging.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-messaging.c
index 2cc5edc..605a2a9 100644
--- a/tools/perf/bench/sched-messaging.c
+++ b/tools/perf/bench/sched-messaging.c
@@ -314,12 +314,12 @@ int bench_sched_messaging(int argc, const char **argv,
switch (bench_format) {
case BENCH_FORMAT_DEFAULT:
- printf("(%d sender and receiver %s per group)\n",
+ printf("# %d sender and receiver %s per group\n",
num_fds, thread_mode ? "threads" : "processes");
- printf("(%d groups == %d %s run)\n\n",
+ printf("# %d groups == %d %s run\n\n",
num_groups, num_groups * 2 * num_fds,
thread_mode ? "threads" : "processes");
- printf("\tTotal time:%lu.%03lu sec\n",
+ printf(" %14s: %lu.%03lu [sec]\n", "Total time",
diff.tv_sec, diff.tv_usec/1000);
break;
case BENCH_FORMAT_SIMPLE: