perf stat: Always correctly indent ratio column
authorAndi Kleen <ak@linux.intel.com>
Wed, 11 Mar 2015 15:28:02 +0000 (08:28 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 13 Mar 2015 10:47:44 +0000 (07:47 -0300)
When cycles or instructions do not print anything, as in being,
--per-socket or --per-core modi, the ratio column was not correctly
indented for them. This lead to some ratios not lining up with the
others. Always indent correctly when nothing is printed.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1426087682-22765-3-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-stat.c

index c95dbdad98c3fc726dd5a1657ffd9c843954e317..d4d1b77da0bdb569c18e42d35f2042452d460089 100644 (file)
@@ -1094,6 +1094,8 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
                if (total) {
                        ratio = avg / total;
                        fprintf(output, " #   %5.2f  insns per cycle        ", ratio);
+               } else {
+                       fprintf(output, "                                   ");
                }
                total = avg_stats(&runtime_stalled_cycles_front_stats[cpu]);
                total = max(total, avg_stats(&runtime_stalled_cycles_back_stats[cpu]));
@@ -1163,6 +1165,8 @@ static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
                if (total) {
                        ratio = avg / total;
                        fprintf(output, " # %8.3f GHz                    ", ratio);
+               } else {
+                       fprintf(output, "                                   ");
                }
        } else if (transaction_run &&
                   perf_evsel__cmp(evsel, nth_evsel(T_CYCLES_IN_TX))) {