From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756120AbbHGHTp (ORCPT ); Fri, 7 Aug 2015 03:19:45 -0400 Received: from terminus.zytor.com ([198.137.202.10]:39550 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755924AbbHGHSa (ORCPT ); Fri, 7 Aug 2015 03:18:30 -0400 Date: Fri, 7 Aug 2015 00:18:15 -0700 From: tip-bot for Jiri Olsa Message-ID: Cc: linux-kernel@vger.kernel.org, a.p.zijlstra@chello.nl, tglx@linutronix.de, namhyung@kernel.org, mingo@kernel.org, hpa@zytor.com, dsahern@gmail.com, acme@redhat.com, jolsa@kernel.org Reply-To: jolsa@kernel.org, acme@redhat.com, mingo@kernel.org, hpa@zytor.com, dsahern@gmail.com, namhyung@kernel.org, a.p.zijlstra@chello.nl, tglx@linutronix.de, linux-kernel@vger.kernel.org In-Reply-To: <1437481927-29538-6-git-send-email-jolsa@kernel.org> References: <1437481927-29538-6-git-send-email-jolsa@kernel.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf stat: Move 'interval' into struct perf_stat_config Git-Commit-ID: ec0d3d1fd292adb80372193c03d859e9cbefd367 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: ec0d3d1fd292adb80372193c03d859e9cbefd367 Gitweb: http://git.kernel.org/tip/ec0d3d1fd292adb80372193c03d859e9cbefd367 Author: Jiri Olsa AuthorDate: Tue, 21 Jul 2015 14:31:25 +0200 Committer: Arnaldo Carvalho de Melo CommitDate: Thu, 6 Aug 2015 16:03:04 -0300 perf stat: Move 'interval' into struct perf_stat_config Moving 'interval' into struct perf_stat_config. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa Cc: David Ahern Cc: Namhyung Kim Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1437481927-29538-6-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-stat.c | 14 +++++++++----- tools/perf/util/stat.h | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index e3ea8b6..1bdfec8 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -113,7 +113,6 @@ static bool group = false; static const char *pre_cmd = NULL; static const char *post_cmd = NULL; static bool sync_run = false; -static unsigned int interval = 0; static unsigned int initial_delay = 0; static unsigned int unit_width = 4; /* strlen("unit") */ static bool forever = false; @@ -404,6 +403,7 @@ static void workload_exec_failed_signal(int signo __maybe_unused, siginfo_t *inf static int __run_perf_stat(int argc, const char **argv) { + int interval = stat_config.interval; char msg[512]; unsigned long long t0, t1; struct perf_evsel *counter; @@ -646,7 +646,7 @@ 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 || interval) + if (csv_output || stat_config.interval) return; if (perf_evsel__match(evsel, SOFTWARE, SW_TASK_CLOCK)) @@ -689,7 +689,7 @@ static void abs_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 || interval) + if (csv_output || stat_config.interval) return; perf_stat__print_shadow_stats(output, evsel, avg, cpu, @@ -990,6 +990,7 @@ static void print_footer(void) static void print_counters(struct timespec *ts, int argc, const char **argv) { + int interval = stat_config.interval; struct perf_evsel *counter; char buf[64], *prefix = NULL; @@ -1029,7 +1030,7 @@ static volatile int signr = -1; static void skip_signal(int signo) { - if ((child_pid == -1) || interval) + if ((child_pid == -1) || stat_config.interval) done = 1; signr = signo; @@ -1313,7 +1314,7 @@ int cmd_stat(int argc, const char **argv, const char *prefix __maybe_unused) "command to run prior to the measured command"), OPT_STRING(0, "post", &post_cmd, "command", "command to run after to the measured command"), - OPT_UINTEGER('I', "interval-print", &interval, + OPT_UINTEGER('I', "interval-print", &stat_config.interval, "print counts at regular interval in ms (>= 100)"), OPT_SET_UINT(0, "per-socket", &stat_config.aggr_mode, "aggregate counts per processor socket", AGGR_SOCKET), @@ -1332,6 +1333,7 @@ int cmd_stat(int argc, const char **argv, const char *prefix __maybe_unused) int status = -EINVAL, run_idx; const char *mode; FILE *output = stderr; + unsigned int interval; setlocale(LC_ALL, ""); @@ -1342,6 +1344,8 @@ int cmd_stat(int argc, const char **argv, const char *prefix __maybe_unused) argc = parse_options(argc, argv, options, stat_usage, PARSE_OPT_STOP_AT_NON_OPTION); + interval = stat_config.interval; + if (output_name && strcmp(output_name, "-")) output = NULL; diff --git a/tools/perf/util/stat.h b/tools/perf/util/stat.h index ed0e058..1da706d 100644 --- a/tools/perf/util/stat.h +++ b/tools/perf/util/stat.h @@ -54,6 +54,7 @@ struct perf_stat_config { enum aggr_mode aggr_mode; bool scale; FILE *output; + unsigned int interval; }; static inline struct perf_counts_values*