On Thu, Apr 16, 2020 at 1:10 PM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > 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? We decided on the former which is in the new patch set. However, the output isn't conditional on the pager being used, which it is in the regular event case. https://lore.kernel.org/lkml/20200416221457.46710-1-irogers@xxxxxxxxxx/T/#t Let me know if there is more to address. Thanks! Ian > jirka >