]> Pileus Git - ~andy/linux/commitdiff
perf bench: Modify bench/bench-messaging.c to adopt unified output formatting
authorHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Mon, 9 Nov 2009 23:20:01 +0000 (08:20 +0900)
committerIngo Molnar <mingo@elte.hu>
Tue, 10 Nov 2009 03:53:49 +0000 (04:53 +0100)
This patch modifies bench/bench-messaging.c to adopt
unified output formatting: --format option.

Usage example:

 % ./perf bench sched messaging              # with no style
 specify (20 sender and receiver processes per group)
 (10 groups == 400 processes run)

        Total time:1.431 sec

 % ./perf bench --format=simple sched messaging # specified
 simple 1.431

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-4-git-send-email-mitake@dcl.info.waseda.ac.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/bench/sched-messaging.c

index 36b62c549e28b0a46cd942ee363bf2ee8fdae754..2cc5edcca3d6c48d6f6096030889b05d83d55b83 100644 (file)
@@ -35,7 +35,6 @@ static int use_pipes = 0;
 static unsigned int loops = 100;
 static unsigned int thread_mode = 0;
 static unsigned int num_groups = 10;
-static int simple = 0;
 
 struct sender_context {
        unsigned int num_fds;
@@ -261,9 +260,6 @@ static const struct option options[] = {
                    "Specify number of groups"),
        OPT_INTEGER('l', "loop", &loops,
                    "Specify number of loops"),
-       OPT_BOOLEAN('s', "simple-output", &simple,
-                   "Do simple output (this maybe useful for"
-                   "processing by scripts or graph tools like gnuplot)"),
        OPT_END()
 };
 
@@ -316,9 +312,8 @@ int bench_sched_messaging(int argc, const char **argv,
 
        timersub(&stop, &start, &diff);
 
-       if (simple)
-               printf("%lu.%03lu\n", diff.tv_sec, diff.tv_usec/1000);
-       else {
+       switch (bench_format) {
+       case BENCH_FORMAT_DEFAULT:
                printf("(%d sender and receiver %s per group)\n",
                       num_fds, thread_mode ? "threads" : "processes");
                printf("(%d groups == %d %s run)\n\n",
@@ -326,6 +321,15 @@ int bench_sched_messaging(int argc, const char **argv,
                       thread_mode ? "threads" : "processes");
                printf("\tTotal time:%lu.%03lu sec\n",
                       diff.tv_sec, diff.tv_usec/1000);
+               break;
+       case BENCH_FORMAT_SIMPLE:
+               printf("%lu.%03lu\n", diff.tv_sec, diff.tv_usec/1000);
+               break;
+       default:
+               /* reaching here is something disaster */
+               fprintf(stderr, "Unknown format:%d\n", bench_format);
+               exit(1);
+               break;
        }
 
        return 0;