Re: [PATCH v9 4/4] perf tools: add support for libpfm4
From: Jiri Olsa
Date: Thu Apr 16 2020 - 16:10:42 EST
On Thu, Apr 16, 2020 at 09:02:54AM -0700, Ian Rogers wrote:
> On Thu, Apr 16, 2020 at 2:55 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> >
> > On Wed, Apr 15, 2020 at 11:35:51PM -0700, Ian Rogers wrote:
> > > From: Stephane Eranian <eranian@xxxxxxxxxx>
> > >
> > > This patch links perf with the libpfm4 library if it is available
> > > and NO_LIBPFM4 isn't passed to the build. The libpfm4 library
> > > contains hardware event tables for all processors supported by
> > > perf_events. It is a helper library that helps convert from a
> > > symbolic event name to the event encoding required by the
> > > underlying kernel interface. This library is open-source and
> > > available from: http://perfmon2.sf.net.
> > >
> > > With this patch, it is possible to specify full hardware events
> > > by name. Hardware filters are also supported. Events must be
> > > specified via the --pfm-events and not -e option. Both options
> > > are active at the same time and it is possible to mix and match:
> > >
> > > $ perf stat --pfm-events inst_retired:any_p:c=1:i -e cycles ....
> > >
> > > Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
> > > Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>
> >
> > # perf list
> > ...
> > perf_raw pfm-events
> > r0000
> > [perf_events raw event syntax: r[0-9a-fA-F]+]
> >
> > skl pfm-events
> > UNHALTED_CORE_CYCLES
> > [Count core clock cycles whenever the clock signal on the specific core is running (not halted)]
> > UNHALTED_REFERENCE_CYCLES
> >
> > please add ':' behind the '* pfm-events' label
>
> Thanks! Not sure I follow here. skl here is the pmu. pfm-events is
> here just to make it clearer these are --pfm-events. The event is
> selected with '--pfm-events UNHALTED_CORE_CYCLES'. Will putting
> skl:pfm-events here make it look like that is part of the event
> encoding?
aah I might have misunderstood the output here then, we have preceeding
output like:
cache:
l1d.replacement
[L1D data line replacements]
so I thought the 'skl pfm-events' is just a label
how about we use the first current label in the middle like:
# perf list
List of pre-defined events (to be used in -e):
current events stuff
List of pfm events (to be used in --pfm-xxx):
pfm events stuff
or maybe put it under 'perf list --pfm', thoughts?
jirka