diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-26 13:15:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-26 13:15:33 -0400 |
commit | 49e70dda359660f20fa21d03bfae132e15c78195 (patch) | |
tree | a21498cdd419bbfd08729fed7d161a4d68c865c9 /tools/perf/builtin-stat.c | |
parent | 179b9145d58eb7158d4053a8308b9fc4608a6d6b (diff) | |
parent | 725b13685c61168f71825b3fb67d96d2d7aa3b0f (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.c | 18 |
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 | ||
339 | static void abs_printout(int counter, double avg) | 339 | static 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 | ||