aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-stat.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-09-26 13:15:33 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-26 13:15:33 -0400
commit49e70dda359660f20fa21d03bfae132e15c78195 (patch)
treea21498cdd419bbfd08729fed7d161a4d68c865c9 /tools/perf/builtin-stat.c
parent179b9145d58eb7158d4053a8308b9fc4608a6d6b (diff)
parent725b13685c61168f71825b3fb67d96d2d7aa3b0f (diff)
Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf tools: Dont use openat() perf tools: Fix buffer allocation perf tools: .gitignore += perf*.html perf tools: Handle relative paths while loading module symbols perf tools: Fix module symbol loading bug perf_event, x86: Fix 'perf sched record' crashing the machine perf_event: Update PERF_EVENT_FORK header definition perf stat: Fix zero total printouts
Diffstat (limited to 'tools/perf/builtin-stat.c')
-rw-r--r--tools/perf/builtin-stat.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 16af2d82e858..e5f6ece65a13 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -338,14 +338,24 @@ static void nsec_printout(int counter, double avg)
338 338
339static void abs_printout(int counter, double avg) 339static void abs_printout(int counter, double avg)
340{ 340{
341 double total, ratio = 0.0;
342
341 fprintf(stderr, " %14.0f %-24s", avg, event_name(counter)); 343 fprintf(stderr, " %14.0f %-24s", avg, event_name(counter));
342 344
343 if (MATCH_EVENT(HARDWARE, HW_INSTRUCTIONS, counter)) { 345 if (MATCH_EVENT(HARDWARE, HW_INSTRUCTIONS, counter)) {
344 fprintf(stderr, " # %10.3f IPC ", 346 total = avg_stats(&runtime_cycles_stats);
345 avg / avg_stats(&runtime_cycles_stats)); 347
348 if (total)
349 ratio = avg / total;
350
351 fprintf(stderr, " # %10.3f IPC ", ratio);
346 } else { 352 } else {
347 fprintf(stderr, " # %10.3f M/sec", 353 total = avg_stats(&runtime_nsecs_stats);
348 1000.0 * avg / avg_stats(&runtime_nsecs_stats)); 354
355 if (total)
356 ratio = 1000.0 * avg / total;
357
358 fprintf(stderr, " # %10.3f M/sec", ratio);
349 } 359 }
350} 360}
351 361