Re: [PATCH v14 1/1] perf tools: add support for libpfm4

From: Arnaldo Carvalho de Melo
Date: Fri May 29 2020 - 13:36:14 EST


Em Fri, May 29, 2020 at 02:23:10PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, May 29, 2020 at 10:03:51AM -0700, Ian Rogers escreveu:
> > On Tue, May 5, 2020 at 11:29 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> > >
> > > From: Stephane Eranian <eranian@xxxxxxxxxx>
> > >
> > > This patch links perf with the libpfm4 library if it is available
> > > and LIBPFM4 is 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>
> >
> > Ping.
>
> Check my tmp.perf/core branch, I had to make some adjustments, mostly in
> the 'perf test' entries as I merged a java demangle test that touched
> the same files,
>
> I'm now doing the build tests.

Talking about build tests, you forgot to add it there, like I did
below, I'll eventually do it, as it is opt-in, no biggie at this point.

I'll install libpfm-devel that is in fedora and do further tests, later
today.

- Arnaldo

commit a01c205e3c4cd6d134317413f2dc3129c4ab7a5a
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Fri May 29 11:31:23 2020 -0300

perf build: Add NO_SYSCALL_TABLE=1 to the build tests

So that we make sure that even on x86-64 and other architectures where
that is the default method we test build the fallback to libaudit that
other architectures use.

I.e. now this line got added to:

$ make -C tools/perf build-test
<SNIP>
make_no_syscall_tbl_O: cd . && make NO_SYSCALL_TABLE=1 FEATURES_DUMP=/home/acme/git/perf/tools/perf/BUILD_TEST_FEATURE_DUMP -j12 O=/tmp/tmp.W0HtKR1mfr DESTDIR=/tmp/tmp.lNezgCVPzW
<SNIP>
$

Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index 29ce0da7fca6..a4ffa3c7fcb6 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -88,6 +88,7 @@ make_no_libbpf_DEBUG := NO_LIBBPF=1 DEBUG=1
make_no_libcrypto := NO_LIBCRYPTO=1
make_with_babeltrace:= LIBBABELTRACE=1
make_no_sdt := NO_SDT=1
+make_no_syscall_tbl := NO_SYSCALL_TABLE=1
make_with_clangllvm := LIBCLANGLLVM=1
make_tags := tags
make_cscope := cscope
@@ -113,7 +114,7 @@ make_minimal += NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1
make_minimal += NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1
make_minimal += NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1
make_minimal += NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1 NO_LIBZSTD=1
-make_minimal += NO_LIBCAP=1
+make_minimal += NO_LIBCAP=1 NO_SYSCALL_TABLE=1

# $(run) contains all available tests
run := make_pure
@@ -146,6 +147,7 @@ run += make_no_libbionic
run += make_no_auxtrace
run += make_no_libbpf
run += make_no_libbpf_DEBUG
+run += make_no_syscall_tbl
run += make_with_babeltrace
run += make_with_clangllvm
run += make_help