[PATCH 42/77] perf stat: Add 'struct perf_stat_config' argument to perf_evlist__print_counters()

From: Arnaldo Carvalho de Melo
Date: Wed Sep 05 2018 - 18:06:51 EST


From: Jiri Olsa <jolsa@xxxxxxxxxx>

Add a 'struct perf_stat_config' argument to perf_evlist__print_counters(),
so that it can be moved out of the 'perf stat' command to generic object
in the following patches.

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20180830063252.23729-18-jolsa@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/builtin-stat.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 4ffbb6594eb6..f340641fe63a 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1694,10 +1694,11 @@ static void print_footer(void)

static void
perf_evlist__print_counters(struct perf_evlist *evlist,
+ struct perf_stat_config *config,
struct timespec *ts,
int argc, const char **argv)
{
- int interval = stat_config.interval;
+ int interval = config->interval;
struct perf_evsel *counter;
char buf[64], *prefix = NULL;

@@ -1713,11 +1714,11 @@ perf_evlist__print_counters(struct perf_evlist *evlist,
print_metric_headers(prefix, false);
if (num_print_iv++ == 25)
num_print_iv = 0;
- if (stat_config.aggr_mode == AGGR_GLOBAL && prefix)
- fprintf(stat_config.output, "%s", prefix);
+ if (config->aggr_mode == AGGR_GLOBAL && prefix)
+ fprintf(config->output, "%s", prefix);
}

- switch (stat_config.aggr_mode) {
+ switch (config->aggr_mode) {
case AGGR_CORE:
case AGGR_SOCKET:
print_aggr(prefix);
@@ -1736,7 +1737,7 @@ perf_evlist__print_counters(struct perf_evlist *evlist,
print_counter_aggr(counter, prefix);
}
if (metric_only)
- fputc('\n', stat_config.output);
+ fputc('\n', config->output);
break;
case AGGR_NONE:
if (metric_only)
@@ -1757,7 +1758,7 @@ perf_evlist__print_counters(struct perf_evlist *evlist,
if (!interval && !csv_output)
print_footer();

- fflush(stat_config.output);
+ fflush(config->output);
}

static void print_counters(struct timespec *ts, int argc, const char **argv)
@@ -1766,7 +1767,8 @@ static void print_counters(struct timespec *ts, int argc, const char **argv)
if (STAT_RECORD && perf_stat.data.is_pipe)
return;

- perf_evlist__print_counters(evsel_list, ts, argc, argv);
+ perf_evlist__print_counters(evsel_list, &stat_config,
+ ts, argc, argv);
}

static volatile int signr = -1;
--
2.14.4