diff options
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 | ||