Commit 4579ecc8 authored by Andi Kleen's avatar Andi Kleen Committed by Arnaldo Carvalho de Melo

perf stat: Move sw clock metrics printout to stat-shadow

The sw clock metrics printing was missed in the earlier move to
stat-shadow of all the other metric printouts. Move it too.

v2: Fix metrics printing in this version to make bisect safe.
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
Link: http://lkml.kernel.org/r/1446515428-7450-2-git-send-email-andi@firstfloor.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 715f8db9
...@@ -493,6 +493,7 @@ static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg) ...@@ -493,6 +493,7 @@ static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg)
double msecs = avg / 1e6; double msecs = avg / 1e6;
const char *fmt_v, *fmt_n; const char *fmt_v, *fmt_n;
char name[25]; char name[25];
int cpu = cpu_map__id_to_cpu(id);
fmt_v = csv_output ? "%.6f%s" : "%18.6f%s"; fmt_v = csv_output ? "%.6f%s" : "%18.6f%s";
fmt_n = csv_output ? "%s" : "%-25s"; fmt_n = csv_output ? "%s" : "%-25s";
...@@ -517,11 +518,8 @@ static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg) ...@@ -517,11 +518,8 @@ static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg)
if (csv_output || stat_config.interval) if (csv_output || stat_config.interval)
return; return;
if (perf_evsel__match(evsel, SOFTWARE, SW_TASK_CLOCK)) perf_stat__print_shadow_stats(output, evsel, avg, cpu,
fprintf(output, " # %8.3f CPUs utilized ", stat_config.aggr_mode);
avg / avg_stats(&walltime_nsecs_stats));
else
fprintf(output, " ");
} }
static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg) static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
......
...@@ -413,6 +413,11 @@ void perf_stat__print_shadow_stats(FILE *out, struct perf_evsel *evsel, ...@@ -413,6 +413,11 @@ void perf_stat__print_shadow_stats(FILE *out, struct perf_evsel *evsel,
ratio = total / avg; ratio = total / avg;
fprintf(out, " # %8.0f cycles / elision ", ratio); fprintf(out, " # %8.0f cycles / elision ", ratio);
} else if (perf_evsel__match(evsel, SOFTWARE, SW_TASK_CLOCK)) {
if ((ratio = avg_stats(&walltime_nsecs_stats)) != 0)
fprintf(out, " # %8.3f CPUs utilized ", avg / ratio);
else
fprintf(out, " ");
} else if (runtime_nsecs_stats[cpu].n != 0) { } else if (runtime_nsecs_stats[cpu].n != 0) {
char unit = 'M'; char unit = 'M';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment