From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756017AbbHGHS5 (ORCPT ); Fri, 7 Aug 2015 03:18:57 -0400 Received: from terminus.zytor.com ([198.137.202.10]:39558 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754005AbbHGHSy (ORCPT ); Fri, 7 Aug 2015 03:18:54 -0400 Date: Fri, 7 Aug 2015 00:18:35 -0700 From: tip-bot for Jiri Olsa Message-ID: Cc: hpa@zytor.com, mingo@kernel.org, tglx@linutronix.de, acme@redhat.com, a.p.zijlstra@chello.nl, namhyung@kernel.org, linux-kernel@vger.kernel.org, jolsa@kernel.org, dsahern@gmail.com Reply-To: hpa@zytor.com, tglx@linutronix.de, mingo@kernel.org, acme@redhat.com, linux-kernel@vger.kernel.org, a.p.zijlstra@chello.nl, namhyung@kernel.org, jolsa@kernel.org, dsahern@gmail.com In-Reply-To: <1437481927-29538-7-git-send-email-jolsa@kernel.org> References: <1437481927-29538-7-git-send-email-jolsa@kernel.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf stat: Pass 'struct perf_stat_config' into process_counter() Git-Commit-ID: 5e5fe748bec771a810b1f44ec9c19e4b92685246 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 5e5fe748bec771a810b1f44ec9c19e4b92685246 Gitweb: http://git.kernel.org/tip/5e5fe748bec771a810b1f44ec9c19e4b92685246 Author: Jiri Olsa AuthorDate: Tue, 21 Jul 2015 14:31:26 +0200 Committer: Arnaldo Carvalho de Melo CommitDate: Thu, 6 Aug 2015 16:07:36 -0300 perf stat: Pass 'struct perf_stat_config' into process_counter() Passing 'struct perf_stat_config' into process_counter(), so that we can make process_counter() non static and use it from other places. Signed-off-by: Jiri Olsa Cc: David Ahern Cc: Namhyung Kim Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1437481927-29538-7-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-stat.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 1bdfec8..5a78171 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -216,7 +216,8 @@ static int check_per_pkg(struct perf_evsel *counter, int cpu, bool *skip) } static int -process_counter_values(struct perf_evsel *evsel, int cpu, int thread, +process_counter_values(struct perf_stat_config *config, struct perf_evsel *evsel, + int cpu, int thread, struct perf_counts_values *count) { struct perf_counts_values *aggr = &evsel->counts->aggr; @@ -231,20 +232,20 @@ process_counter_values(struct perf_evsel *evsel, int cpu, int thread, if (skip) count = &zero; - switch (stat_config.aggr_mode) { + switch (config->aggr_mode) { case AGGR_THREAD: case AGGR_CORE: case AGGR_SOCKET: case AGGR_NONE: if (!evsel->snapshot) perf_evsel__compute_deltas(evsel, cpu, thread, count); - perf_counts_values__scale(count, stat_config.scale, NULL); - if (stat_config.aggr_mode == AGGR_NONE) + perf_counts_values__scale(count, config->scale, NULL); + if (config->aggr_mode == AGGR_NONE) perf_stat__update_shadow_stats(evsel, count->values, cpu); break; case AGGR_GLOBAL: aggr->val += count->val; - if (stat_config.scale) { + if (config->scale) { aggr->ena += count->ena; aggr->run += count->run; } @@ -255,7 +256,8 @@ process_counter_values(struct perf_evsel *evsel, int cpu, int thread, return 0; } -static int process_counter_maps(struct perf_evsel *counter) +static int process_counter_maps(struct perf_stat_config *config, + struct perf_evsel *counter) { int nthreads = thread_map__nr(counter->threads); int ncpus = perf_evsel__nr_cpus(counter); @@ -266,7 +268,7 @@ static int process_counter_maps(struct perf_evsel *counter) for (thread = 0; thread < nthreads; thread++) { for (cpu = 0; cpu < ncpus; cpu++) { - if (process_counter_values(counter, cpu, thread, + if (process_counter_values(config, counter, cpu, thread, perf_counts(counter->counts, cpu, thread))) return -1; } @@ -275,7 +277,8 @@ static int process_counter_maps(struct perf_evsel *counter) return 0; } -static int process_counter(struct perf_evsel *counter) +static int process_counter(struct perf_stat_config *config, + struct perf_evsel *counter) { struct perf_counts_values *aggr = &counter->counts->aggr; struct perf_stat *ps = counter->priv; @@ -288,22 +291,22 @@ static int process_counter(struct perf_evsel *counter) if (counter->per_pkg) zero_per_pkg(counter); - ret = process_counter_maps(counter); + ret = process_counter_maps(&stat_config, counter); if (ret) return ret; - if (stat_config.aggr_mode != AGGR_GLOBAL) + if (config->aggr_mode != AGGR_GLOBAL) return 0; if (!counter->snapshot) perf_evsel__compute_deltas(counter, -1, -1, aggr); - perf_counts_values__scale(aggr, stat_config.scale, &counter->counts->scaled); + perf_counts_values__scale(aggr, config->scale, &counter->counts->scaled); for (i = 0; i < 3; i++) update_stats(&ps->res_stats[i], count[i]); if (verbose) { - fprintf(stat_config.output, "%s: %" PRIu64 " %" PRIu64 " %" PRIu64 "\n", + fprintf(config->output, "%s: %" PRIu64 " %" PRIu64 " %" PRIu64 "\n", perf_evsel__name(counter), count[0], count[1], count[2]); } @@ -352,7 +355,7 @@ static void read_counters(bool close_counters) if (read_counter(counter)) pr_warning("failed to read counter %s\n", counter->name); - if (process_counter(counter)) + if (process_counter(&stat_config, counter)) pr_warning("failed to process counter %s\n", counter->name); if (close_counters) {