diff options
| author | Jiri Olsa <jolsa@kernel.org> | 2018-08-30 02:32:51 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-08-30 14:52:25 -0400 |
| commit | d0192fdba09a8901db133fe5a1fcd22d40fcf545 (patch) | |
| tree | 54c88953c437e22cdf67fd3f696ed0878b552b94 | |
| parent | 54ac0b1bd25cbdeda226b32a0459e09de46157b3 (diff) | |
perf stat: Move 'metric_events' to 'struct perf_stat_config'
Move the static variable 'metric_events' to 'struct perf_stat_config',
so that it can be passed around and used outside 'perf stat' command.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180830063252.23729-43-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
| -rw-r--r-- | tools/perf/builtin-stat.c | 10 | ||||
| -rw-r--r-- | tools/perf/util/stat.h | 1 |
2 files changed, 5 insertions, 6 deletions
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 8a4979748cbb..f4ddedc8619b 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c | |||
| @@ -137,8 +137,6 @@ static const char *smi_cost_attrs = { | |||
| 137 | 137 | ||
| 138 | static struct perf_evlist *evsel_list; | 138 | static struct perf_evlist *evsel_list; |
| 139 | 139 | ||
| 140 | static struct rblist metric_events; | ||
| 141 | |||
| 142 | static struct target target = { | 140 | static struct target target = { |
| 143 | .uid = UINT_MAX, | 141 | .uid = UINT_MAX, |
| 144 | }; | 142 | }; |
| @@ -1082,7 +1080,7 @@ static void printout(struct perf_stat_config *config, int id, int nr, | |||
| 1082 | 1080 | ||
| 1083 | perf_stat__print_shadow_stats(config, counter, uval, | 1081 | perf_stat__print_shadow_stats(config, counter, uval, |
| 1084 | first_shadow_cpu(config, counter, id), | 1082 | first_shadow_cpu(config, counter, id), |
| 1085 | &out, &metric_events, st); | 1083 | &out, &config->metric_events, st); |
| 1086 | if (!config->csv_output && !config->metric_only) { | 1084 | if (!config->csv_output && !config->metric_only) { |
| 1087 | print_noise(config, counter, noise); | 1085 | print_noise(config, counter, noise); |
| 1088 | print_running(config, run, ena); | 1086 | print_running(config, run, ena); |
| @@ -1533,7 +1531,7 @@ static void print_metric_headers(struct perf_stat_config *config, | |||
| 1533 | perf_stat__print_shadow_stats(config, counter, 0, | 1531 | perf_stat__print_shadow_stats(config, counter, 0, |
| 1534 | 0, | 1532 | 0, |
| 1535 | &out, | 1533 | &out, |
| 1536 | &metric_events, | 1534 | &config->metric_events, |
| 1537 | &rt_stat); | 1535 | &rt_stat); |
| 1538 | } | 1536 | } |
| 1539 | fputc('\n', config->output); | 1537 | fputc('\n', config->output); |
| @@ -1860,7 +1858,7 @@ static int parse_metric_groups(const struct option *opt, | |||
| 1860 | const char *str, | 1858 | const char *str, |
| 1861 | int unset __maybe_unused) | 1859 | int unset __maybe_unused) |
| 1862 | { | 1860 | { |
| 1863 | return metricgroup__parse_groups(opt, str, &metric_events); | 1861 | return metricgroup__parse_groups(opt, str, &stat_config.metric_events); |
| 1864 | } | 1862 | } |
| 1865 | 1863 | ||
| 1866 | static const struct option stat_options[] = { | 1864 | static const struct option stat_options[] = { |
| @@ -2321,7 +2319,7 @@ static int add_default_attributes(void) | |||
| 2321 | struct option opt = { .value = &evsel_list }; | 2319 | struct option opt = { .value = &evsel_list }; |
| 2322 | 2320 | ||
| 2323 | return metricgroup__parse_groups(&opt, "transaction", | 2321 | return metricgroup__parse_groups(&opt, "transaction", |
| 2324 | &metric_events); | 2322 | &stat_config.metric_events); |
| 2325 | } | 2323 | } |
| 2326 | 2324 | ||
| 2327 | if (pmu_have_event("cpu", "cycles-ct") && | 2325 | if (pmu_have_event("cpu", "cycles-ct") && |
diff --git a/tools/perf/util/stat.h b/tools/perf/util/stat.h index 5193cbf6e4c6..8d3354e21e19 100644 --- a/tools/perf/util/stat.h +++ b/tools/perf/util/stat.h | |||
| @@ -125,6 +125,7 @@ struct perf_stat_config { | |||
| 125 | aggr_get_id_t aggr_get_id; | 125 | aggr_get_id_t aggr_get_id; |
| 126 | struct cpu_map *cpus_aggr_map; | 126 | struct cpu_map *cpus_aggr_map; |
| 127 | u64 *walltime_run; | 127 | u64 *walltime_run; |
| 128 | struct rblist metric_events; | ||
| 128 | }; | 129 | }; |
| 129 | 130 | ||
| 130 | void update_stats(struct stats *stats, u64 val); | 131 | void update_stats(struct stats *stats, u64 val); |
