mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
perf evlist: Make groups visible in evlist__format_evsels() output
Make groups visible in output:
Before:
{cycles,instructions} ->
cpu_atom/cycles/,cpu_atom/instructions/,cpu_core/cycles/,cpu_core/instructions/
After:
{cycles,instructions} ->
{cpu_atom/cycles/,cpu_atom/instructions/},{cpu_core/cycles/,cpu_core/instructions/}
Committer testing:
Before:
root@number:~# perf record -e '{cycles,instructions,cache-misses}' /tmp/bla
Failed to collect 'cycles,instructions,cache-misses' for the '/tmp/bla' workload: Permission denied
root@number:~#
After:
root@number:~# perf record -e '{cycles,instructions,cache-misses}' /tmp/bla
Failed to collect '{cycles,instructions,cache-misses}' for the '/tmp/bla' workload: Permission denied
root@number:~#
Reviewed-by: Kan Liang <kan.liang@linux.intel.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: 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-5-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
f0f245eaa2
commit
583dc500d1
|
|
@ -2470,13 +2470,18 @@ struct evsel *evlist__find_evsel(struct evlist *evlist, int idx)
|
|||
|
||||
void evlist__format_evsels(struct evlist *evlist, struct strbuf *sb, size_t max_length)
|
||||
{
|
||||
struct evsel *evsel;
|
||||
struct evsel *evsel, *leader = NULL;
|
||||
bool first = true;
|
||||
|
||||
evlist__for_each_entry(evlist, evsel) {
|
||||
struct evsel *new_leader = evsel__leader(evsel);
|
||||
|
||||
if (evsel__is_dummy_event(evsel))
|
||||
continue;
|
||||
|
||||
if (leader != new_leader && leader && leader->core.nr_members > 1)
|
||||
strbuf_addch(sb, '}');
|
||||
|
||||
if (!first)
|
||||
strbuf_addch(sb, ',');
|
||||
|
||||
|
|
@ -2484,9 +2489,15 @@ void evlist__format_evsels(struct evlist *evlist, struct strbuf *sb, size_t max_
|
|||
strbuf_addstr(sb, "...");
|
||||
return;
|
||||
}
|
||||
if (leader != new_leader && new_leader->core.nr_members > 1)
|
||||
strbuf_addch(sb, '{');
|
||||
|
||||
strbuf_addstr(sb, evsel__name(evsel));
|
||||
first = false;
|
||||
leader = new_leader;
|
||||
}
|
||||
if (leader && leader->core.nr_members > 1)
|
||||
strbuf_addch(sb, '}');
|
||||
}
|
||||
|
||||
void evlist__check_mem_load_aux(struct evlist *evlist)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user