mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-04 04:44:37 +08:00
perf stat: Exit perf stat if parse groups fails
Metrics were added by a callback but commita4b8cfcabb
("perf stat: Delay metric parsing") postponed this to allow optimizations based on the CPU configuration. In doing so it stopped errors in metric parsing from causing 'perf stat' termination. This change adds the termination for bad metric names back in. Fixes:a4b8cfcabb
("perf stat: Delay metric parsing") Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Closes: https://lore.kernel.org/lkml/ZXByT1K6enTh2EHT@kernel.org/ Link: https://lore.kernel.org/r/20231206183533.972028-1-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
01261d8a0f
commit
0713ab3bd1
@ -2695,15 +2695,19 @@ int cmd_stat(int argc, const char **argv)
|
||||
*/
|
||||
if (metrics) {
|
||||
const char *pmu = parse_events_option_args.pmu_filter ?: "all";
|
||||
int ret = metricgroup__parse_groups(evsel_list, pmu, metrics,
|
||||
stat_config.metric_no_group,
|
||||
stat_config.metric_no_merge,
|
||||
stat_config.metric_no_threshold,
|
||||
stat_config.user_requested_cpu_list,
|
||||
stat_config.system_wide,
|
||||
&stat_config.metric_events);
|
||||
|
||||
metricgroup__parse_groups(evsel_list, pmu, metrics,
|
||||
stat_config.metric_no_group,
|
||||
stat_config.metric_no_merge,
|
||||
stat_config.metric_no_threshold,
|
||||
stat_config.user_requested_cpu_list,
|
||||
stat_config.system_wide,
|
||||
&stat_config.metric_events);
|
||||
zfree(&metrics);
|
||||
if (ret) {
|
||||
status = ret;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
if (add_default_attributes())
|
||||
|
Loading…
Reference in New Issue
Block a user