Re: [PATCH 1/9] perf, tools, stat: Move sw clock metrics printout to stat-shadow

Jiri Olsa
2015-09-04T08:25:59Z

On Wed, Sep 02, 2015 at 04:35:46PM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
>
> The sw clock metrics printing was missed in the earlier move to
> stat-shadow of all the other metric printouts. Move it too.
>
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
> ---
> tools/perf/builtin-stat.c | 9 ---------
> tools/perf/util/stat-shadow.c | 3 +++
> 2 files changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index a96fb5c..77e5781 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -510,15 +510,6 @@ static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg)
>
> if (evsel->cgrp)
> fprintf(output, "%s%s", csv_sep, evsel->cgrp->name);
> -
> - if (csv_output || stat_config.interval)
> - return;
> -
> - if (perf_evsel__match(evsel, SOFTWARE, SW_TASK_CLOCK))
> - fprintf(output, " # %8.3f CPUs utilized ",
> - avg / avg_stats(&walltime_nsecs_stats));
> - else
> - fprintf(output, " ");
> }
>
> static void abs_printout(int id, int nr, struct perf_evsel *evsel, double avg)
> diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
> index 2a5d8d7..625ab3b 100644
> --- a/tools/perf/util/stat-shadow.c
> +++ b/tools/perf/util/stat-shadow.c
> @@ -413,6 +413,9 @@ void perf_stat__print_shadow_stats(FILE *out, struct perf_evsel *evsel,
> ratio = total / avg;
>
> fprintf(out, " # %8.0f cycles / elision ", ratio);
> + } else if (perf_evsel__match(evsel, SOFTWARE, SW_TASK_CLOCK) &&
> + (ratio = avg_stats(&walltime_nsecs_stats)) != 0) {
> + fprintf(out, " # %8.3f CPUs utilized ", avg / ratio);

perf_stat__print_shadow_stats is at this point called only from
abs_printout, while this is nsec_printout.. but it's all factored
later, so I believe this is ok for now

Acked-by: Jiri Olsa <jolsa@kernel.org>

thanks,
jirka