lkml.org 
[lkml]   [2015]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/9] perf, tools, stat: Move sw clock metrics printout to stat-shadow
    Date
    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.

    Acked-by: Jiri Olsa <jolsa@kernel.org>
    v2: Fix metrics printing in this version to make bisect safe.
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    ---
    tools/perf/builtin-stat.c | 8 +++-----
    tools/perf/util/stat-shadow.c | 5 +++++
    2 files changed, 8 insertions(+), 5 deletions(-)

    diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
    index 2f438f7..8a78895 100644
    --- a/tools/perf/builtin-stat.c
    +++ b/tools/perf/builtin-stat.c
    @@ -493,6 +493,7 @@ static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg)
    double msecs = avg / 1e6;
    const char *fmt_v, *fmt_n;
    char name[25];
    + int cpu = cpu_map__id_to_cpu(id);

    fmt_v = csv_output ? "%.6f%s" : "%18.6f%s";
    fmt_n = csv_output ? "%s" : "%-25s";
    @@ -517,11 +518,8 @@ static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg)
    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, " ");
    + perf_stat__print_shadow_stats(output, evsel, avg, cpu,
    + stat_config.aggr_mode);
    }

    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..6ac0314 100644
    --- a/tools/perf/util/stat-shadow.c
    +++ b/tools/perf/util/stat-shadow.c
    @@ -413,6 +413,11 @@ 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)) {
    + 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) {
    char unit = 'M';

    --
    2.4.3


    \
     
     \ /
      Last update: 2015-11-03 03:01    [W:4.083 / U:0.636 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site