[lkml]   [2020]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v7] perf tools: add support for libpfm4
On Mon, Apr 06, 2020 at 11:40:18PM -0700, Ian Rogers wrote:
> From: Stephane Eranian <>
> 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:
> 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 ....
> v7 rebases and adds fallback code for libpfm4 events.
> The fallback code is to force user only priv level in case the
> perf_event_open() syscall failed for permissions reason.
> the fallback forces a user privilege level restriction on the event string,
> so depending on the syntax either u or :u is needed.
> But libpfm4 can use a : or . as the separator, so simply searching
> for ':' vs. '/' is not good enough to determine the syntax needed.
> Therefore, this patch introduces a new evsel boolean field to mark events
> coming from libpfm4. The field is then used to adjust the fallback string.

I made bunch of comments for v5, not sure you saw them:


> v6 is a rebase.
> v5 is a rebase.
> v4 is a rebase on git://
> branch perf/core and re-adds the tools/build/feature/test-libpfm4.c
> missed in v3.
> v3 is against acme/perf/core and removes a diagnostic warning.
> v2 of this patch makes the --pfm-events man page documentation
> conditional on libpfm4 behing configured. It tidies some of the
> documentation and adds the feature test missed in the v1 patch.


 \ /
  Last update: 2020-04-07 22:25    [W:0.047 / U:30.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site