mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
perf parse-events: Add debug dump of evlist if reordered
Add debug verbose output to show how evsels were reordered by
parse_events__sort_events_and_fix_groups(). For example:
```
$ perf record -v -e '{instructions,cycles}' true
Using CPUID GenuineIntel-6-B7-1
WARNING: events were regrouped to match PMUs
evlist after sorting/fixing: '{cpu_atom/instructions/,cpu_atom/cycles/},{cpu_core/instructions/,cpu_core/cycles/}'
```
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dominique Martinet <asmadeus@codewreck.org>
Cc: Dr. David Alan Gilbert <linux@treblig.org>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Levi Yun <yeoreum.yun@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Weilin Wang <weilin.wang@intel.com>
Link: https://lore.kernel.org/r/20250402201549.4090305-6-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
583dc500d1
commit
70e21ac8b0
|
|
@ -28,6 +28,7 @@
|
|||
#include "util/evsel_config.h"
|
||||
#include "util/event.h"
|
||||
#include "util/bpf-filter.h"
|
||||
#include "util/stat.h"
|
||||
#include "util/util.h"
|
||||
#include "tracepoint.h"
|
||||
|
||||
|
|
@ -2200,14 +2201,23 @@ int __parse_events(struct evlist *evlist, const char *str, const char *pmu_filte
|
|||
if (ret2 < 0)
|
||||
return ret;
|
||||
|
||||
if (ret2 && warn_if_reordered && !parse_state.wild_card_pmus)
|
||||
pr_warning("WARNING: events were regrouped to match PMUs\n");
|
||||
|
||||
/*
|
||||
* Add list to the evlist even with errors to allow callers to clean up.
|
||||
*/
|
||||
evlist__splice_list_tail(evlist, &parse_state.list);
|
||||
|
||||
if (ret2 && warn_if_reordered && !parse_state.wild_card_pmus) {
|
||||
pr_warning("WARNING: events were regrouped to match PMUs\n");
|
||||
|
||||
if (verbose > 0) {
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
|
||||
evlist__uniquify_name(evlist);
|
||||
evlist__format_evsels(evlist, &sb, 2048);
|
||||
pr_debug("evlist after sorting/fixing: '%s'\n", sb.buf);
|
||||
strbuf_release(&sb);
|
||||
}
|
||||
}
|
||||
if (!ret) {
|
||||
struct evsel *last;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user