mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-18 22:34:48 +00:00
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>
This commit is contained in:
parent
54ac0b1bd2
commit
d0192fdba0
@ -137,8 +137,6 @@ static const char *smi_cost_attrs = {
|
|||||||
|
|
||||||
static struct perf_evlist *evsel_list;
|
static struct perf_evlist *evsel_list;
|
||||||
|
|
||||||
static struct rblist metric_events;
|
|
||||||
|
|
||||||
static struct target target = {
|
static struct target target = {
|
||||||
.uid = UINT_MAX,
|
.uid = UINT_MAX,
|
||||||
};
|
};
|
||||||
@ -1082,7 +1080,7 @@ static void printout(struct perf_stat_config *config, int id, int nr,
|
|||||||
|
|
||||||
perf_stat__print_shadow_stats(config, counter, uval,
|
perf_stat__print_shadow_stats(config, counter, uval,
|
||||||
first_shadow_cpu(config, counter, id),
|
first_shadow_cpu(config, counter, id),
|
||||||
&out, &metric_events, st);
|
&out, &config->metric_events, st);
|
||||||
if (!config->csv_output && !config->metric_only) {
|
if (!config->csv_output && !config->metric_only) {
|
||||||
print_noise(config, counter, noise);
|
print_noise(config, counter, noise);
|
||||||
print_running(config, run, ena);
|
print_running(config, run, ena);
|
||||||
@ -1533,7 +1531,7 @@ static void print_metric_headers(struct perf_stat_config *config,
|
|||||||
perf_stat__print_shadow_stats(config, counter, 0,
|
perf_stat__print_shadow_stats(config, counter, 0,
|
||||||
0,
|
0,
|
||||||
&out,
|
&out,
|
||||||
&metric_events,
|
&config->metric_events,
|
||||||
&rt_stat);
|
&rt_stat);
|
||||||
}
|
}
|
||||||
fputc('\n', config->output);
|
fputc('\n', config->output);
|
||||||
@ -1860,7 +1858,7 @@ static int parse_metric_groups(const struct option *opt,
|
|||||||
const char *str,
|
const char *str,
|
||||||
int unset __maybe_unused)
|
int unset __maybe_unused)
|
||||||
{
|
{
|
||||||
return metricgroup__parse_groups(opt, str, &metric_events);
|
return metricgroup__parse_groups(opt, str, &stat_config.metric_events);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct option stat_options[] = {
|
static const struct option stat_options[] = {
|
||||||
@ -2321,7 +2319,7 @@ static int add_default_attributes(void)
|
|||||||
struct option opt = { .value = &evsel_list };
|
struct option opt = { .value = &evsel_list };
|
||||||
|
|
||||||
return metricgroup__parse_groups(&opt, "transaction",
|
return metricgroup__parse_groups(&opt, "transaction",
|
||||||
&metric_events);
|
&stat_config.metric_events);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pmu_have_event("cpu", "cycles-ct") &&
|
if (pmu_have_event("cpu", "cycles-ct") &&
|
||||||
|
@ -125,6 +125,7 @@ struct perf_stat_config {
|
|||||||
aggr_get_id_t aggr_get_id;
|
aggr_get_id_t aggr_get_id;
|
||||||
struct cpu_map *cpus_aggr_map;
|
struct cpu_map *cpus_aggr_map;
|
||||||
u64 *walltime_run;
|
u64 *walltime_run;
|
||||||
|
struct rblist metric_events;
|
||||||
};
|
};
|
||||||
|
|
||||||
void update_stats(struct stats *stats, u64 val);
|
void update_stats(struct stats *stats, u64 val);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user