perf stat: Fix zero total printouts
Before: 0 sched:sched_switch # nan M/sec After: 0 sched:sched_switch # 0.000 M/sec Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
a8f90e9067
commit
c7f7fea30b
1 changed files with 14 additions and 4 deletions
|
@ -338,14 +338,24 @@ static void nsec_printout(int counter, double avg)
|
||||||
|
|
||||||
static void abs_printout(int counter, double avg)
|
static void abs_printout(int counter, double avg)
|
||||||
{
|
{
|
||||||
|
double total, ratio = 0.0;
|
||||||
|
|
||||||
fprintf(stderr, " %14.0f %-24s", avg, event_name(counter));
|
fprintf(stderr, " %14.0f %-24s", avg, event_name(counter));
|
||||||
|
|
||||||
if (MATCH_EVENT(HARDWARE, HW_INSTRUCTIONS, counter)) {
|
if (MATCH_EVENT(HARDWARE, HW_INSTRUCTIONS, counter)) {
|
||||||
fprintf(stderr, " # %10.3f IPC ",
|
total = avg_stats(&runtime_cycles_stats);
|
||||||
avg / avg_stats(&runtime_cycles_stats));
|
|
||||||
|
if (total)
|
||||||
|
ratio = avg / total;
|
||||||
|
|
||||||
|
fprintf(stderr, " # %10.3f IPC ", ratio);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, " # %10.3f M/sec",
|
total = avg_stats(&runtime_nsecs_stats);
|
||||||
1000.0 * avg / avg_stats(&runtime_nsecs_stats));
|
|
||||||
|
if (total)
|
||||||
|
ratio = 1000.0 * avg / total;
|
||||||
|
|
||||||
|
fprintf(stderr, " # %10.3f M/sec", ratio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue