[PATCH 24/43] perf stat: Add target argument to perf_evlist__print_counters

From: Jiri Olsa
Date: Thu Aug 30 2018 - 02:35:36 EST


Adding 'struct target' argument to perf_evlist__print_counters,
so the function does not depend on stat command object local
target and can be moved out.

Link: http://lkml.kernel.org/n/tip-fxhirh8l1b9i0ozb6j69umd1@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/builtin-stat.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 24171aa6c41f..528f85146b59 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1590,6 +1590,7 @@ static void print_interval(struct perf_stat_config *config,
}

static void print_header(struct perf_stat_config *config,
+ struct target *_target,
int argc, const char **argv)
{
FILE *output = config->output;
@@ -1600,18 +1601,18 @@ static void print_header(struct perf_stat_config *config,
if (!config->csv_output) {
fprintf(output, "\n");
fprintf(output, " Performance counter stats for ");
- if (target.system_wide)
+ if (_target->system_wide)
fprintf(output, "\'system wide");
- else if (target.cpu_list)
- fprintf(output, "\'CPU(s) %s", target.cpu_list);
- else if (!target__has_task(&target)) {
+ else if (_target->cpu_list)
+ fprintf(output, "\'CPU(s) %s", _target->cpu_list);
+ else if (!target__has_task(_target)) {
fprintf(output, "\'%s", argv ? argv[0] : "pipe");
for (i = 1; argv && (i < argc); i++)
fprintf(output, " %s", argv[i]);
- } else if (target.pid)
- fprintf(output, "process id \'%s", target.pid);
+ } else if (_target->pid)
+ fprintf(output, "process id \'%s", _target->pid);
else
- fprintf(output, "thread id \'%s", target.tid);
+ fprintf(output, "thread id \'%s", _target->tid);

fprintf(output, "\'");
if (run_count > 1)
@@ -1716,6 +1717,7 @@ static void print_footer(struct perf_stat_config *config)
static void
perf_evlist__print_counters(struct perf_evlist *evlist,
struct perf_stat_config *config,
+ struct target *_target,
struct timespec *ts,
int argc, const char **argv)
{
@@ -1727,7 +1729,7 @@ perf_evlist__print_counters(struct perf_evlist *evlist,
if (interval)
print_interval(config, prefix = buf, ts);
else
- print_header(config, argc, argv);
+ print_header(config, _target, argc, argv);

if (metric_only) {
static int num_print_iv;
@@ -1789,7 +1791,7 @@ 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, &stat_config,
+ perf_evlist__print_counters(evsel_list, &stat_config, &target,
ts, argc, argv);
}

--
2.17.1