Linux Perf Users
 help / color / mirror / Atom feed
* Re: [PATCH v7] perf tools: add support for libpfm4
       [not found] <20200407064018.158555-1-irogers@google.com>
@ 2020-04-07 20:25 ` Jiri Olsa
  2020-04-07 21:07   ` Ian Rogers
  0 siblings, 1 reply; 3+ messages in thread
From: Jiri Olsa @ 2020-04-07 20:25 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Namhyung Kim,
	Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau,
	Yonghong Song, Andrii Nakryiko, Greg Kroah-Hartman,
	Thomas Gleixner, Igor Lubashev, Alexey Budankov, Florian Fainelli,
	Adrian Hunter, Andi Kleen, Jiwei Sun, yuzhouji

On Mon, Apr 06, 2020 at 11:40:18PM -0700, Ian Rogers wrote:
> From: Stephane Eranian <eranian@google.com>
> 
> 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 ....
> 
> 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.

heya,
I made bunch of comments for v5, not sure you saw them:
  https://lore.kernel.org/lkml/20200323235846.104937-1-irogers@google.com/

jirka

> v6 is a rebase.
> v5 is a rebase.
> v4 is a rebase on git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.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.
> 

SNIP

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v7] perf tools: add support for libpfm4
  2020-04-07 20:25 ` [PATCH v7] perf tools: add support for libpfm4 Jiri Olsa
@ 2020-04-07 21:07   ` Ian Rogers
  2020-04-11  7:48     ` Ian Rogers
  0 siblings, 1 reply; 3+ messages in thread
From: Ian Rogers @ 2020-04-07 21:07 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Namhyung Kim,
	Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau,
	Yonghong Song, Andrii Nakryiko, Greg Kroah-Hartman,
	Thomas Gleixner, Igor Lubashev, Alexey Budankov, Florian Fainelli,
	Adrian Hunter, Andi Kleen, Jiwei Sun, yuzhouji

On Tue, Apr 7, 2020 at 1:25 PM Jiri Olsa <jolsa@redhat.com> wrote:
>
> On Mon, Apr 06, 2020 at 11:40:18PM -0700, Ian Rogers wrote:
> > From: Stephane Eranian <eranian@google.com>
> >
> > 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 ....
> >
> > 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.
>
> heya,
> I made bunch of comments for v5, not sure you saw them:
>   https://lore.kernel.org/lkml/20200323235846.104937-1-irogers@google.com/
>
> jirka

Sorry for missing this, I will work on fixing these and thanks!

Ian

> > v6 is a rebase.
> > v5 is a rebase.
> > v4 is a rebase on git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.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.
> >
>
> SNIP
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v7] perf tools: add support for libpfm4
  2020-04-07 21:07   ` Ian Rogers
@ 2020-04-11  7:48     ` Ian Rogers
  0 siblings, 0 replies; 3+ messages in thread
From: Ian Rogers @ 2020-04-11  7:48 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Namhyung Kim,
	Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau,
	Yonghong Song, Andrii Nakryiko, Greg Kroah-Hartman,
	Thomas Gleixner, Igor Lubashev, Alexey Budankov, Florian Fainelli,
	Adrian Hunter, Andi Kleen, Jiwei Sun, yuzhouji

On Tue, Apr 7, 2020 at 2:07 PM Ian Rogers <irogers@google.com> wrote:
>
> On Tue, Apr 7, 2020 at 1:25 PM Jiri Olsa <jolsa@redhat.com> wrote:
> >
> > On Mon, Apr 06, 2020 at 11:40:18PM -0700, Ian Rogers wrote:
> > > From: Stephane Eranian <eranian@google.com>
> > >
> > > 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 ....
> > >
> > > 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.
> >
> > heya,
> > I made bunch of comments for v5, not sure you saw them:
> >   https://lore.kernel.org/lkml/20200323235846.104937-1-irogers@google.com/
> >
> > jirka
>
> Sorry for missing this, I will work on fixing these and thanks!
>
> Ian

v8 is available now:
https://lore.kernel.org/lkml/20200411074631.9486-1-irogers@google.com/T/#t

Thanks,
Ian

> > > v6 is a rebase.
> > > v5 is a rebase.
> > > v4 is a rebase on git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.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.
> > >
> >
> > SNIP
> >

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-04-11  7:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20200407064018.158555-1-irogers@google.com>
2020-04-07 20:25 ` [PATCH v7] perf tools: add support for libpfm4 Jiri Olsa
2020-04-07 21:07   ` Ian Rogers
2020-04-11  7:48     ` Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox