Re: [PATCH v2 21/21] perf metric: Allow modifiers on metrics.

From: Arnaldo Carvalho de Melo
Date: Tue Oct 19 2021 - 11:06:26 EST


Em Fri, Oct 15, 2021 at 10:21:32AM -0700, Ian Rogers escreveu:
> By allowing modifiers on metrics we can, for example, gather the
> same metric for kernel and user mode. On a SkylakeX with
> TopDownL1 this gives:
>
> $ perf stat -M TopDownL1:u,TopDownL1:k -a sleep 2
>
> Performance counter stats for 'system wide':

Hi Ian, can you please take a look on this? this is on my perf/core
branch.

- Arnaldo

[root@five ~]# perf test -vv "for cgroups"
70: Event expansion for cgroups :
--- start ---
test child forked, pid 992568
Using CPUID AuthenticAMD-25-21-0
libpfm was not enabled
metric expr 1 / IPC for CPI
parsing metric: 1 / IPC
metric expr instructions / cycles for IPC
parsing metric: instructions / cycles
found event instructions
found event cycles
Parsing metric events '{instructions/metric-id=instructions/,cycles/metric-id=cycles/}:W'
copying metric event for cgroup 'A': instructions (idx=0)
copying metric event for cgroup 'B': instructions (idx=0)
copying metric event for cgroup 'C': instructions (idx=0)
free(): double free detected in tcache 2
test child interrupted
---- end ----
Event expansion for cgroups: FAILED!
[root@five ~]#

⬢[acme@toolbox perf]$ git bisect bad
c067335fcbfc67c36663dabdb9ccaa96badf9359 is the first bad commit
commit c067335fcbfc67c36663dabdb9ccaa96badf9359
Author: Ian Rogers <irogers@xxxxxxxxxx>
Date: Thu Oct 7 09:56:47 2021 -0700

perf metric: Allow modifiers on metrics.

By allowing modifiers on metrics we can, for example, gather the
same metric for kernel and user mode. On a SkylakeX with
TopDownL1 this gives: