From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754695AbbKCBuy (ORCPT ); Mon, 2 Nov 2015 20:50:54 -0500 Received: from mga09.intel.com ([134.134.136.24]:51736 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754452AbbKCBue (ORCPT ); Mon, 2 Nov 2015 20:50:34 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,236,1444719600"; d="scan'208";a="825385477" From: Andi Kleen To: jolsa@kernel.org Cc: acme@kernel.org, mingo@kernel.org, linux-kernel@vger.kernel.org, Andi Kleen Subject: [PATCH 1/9] perf, tools, stat: Move sw clock metrics printout to stat-shadow Date: Mon, 2 Nov 2015 17:50:20 -0800 Message-Id: <1446515428-7450-2-git-send-email-andi@firstfloor.org> X-Mailer: git-send-email 2.4.3 In-Reply-To: <1446515428-7450-1-git-send-email-andi@firstfloor.org> References: <1446515428-7450-1-git-send-email-andi@firstfloor.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andi Kleen 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 v2: Fix metrics printing in this version to make bisect safe. Signed-off-by: Andi Kleen --- 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