Subject: Re: [PATCH v5] perf tools: add support for libpfm4

From: Jiri Olsa <[email-masked]>
Date: Tue, 24 Mar 2020 11:27:32 +0100

On Mon, Mar 23, 2020 at 04:58:46PM -0700, Ian Rogers wrote:
> 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 ....
> 
> 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.
> 
> Author: Stephane Eranian <[email-masked]>
> Signed-off-by: Ian Rogers <[email-masked]>

I still have some conflicts, but I merged it by hand

	patching file tools/build/Makefile.feature
	patching file tools/build/feature/Makefile
	patching file tools/build/feature/test-libpfm4.c
	patching file tools/perf/Documentation/Makefile
	patching file tools/perf/Documentation/perf-record.txt
	patching file tools/perf/Documentation/perf-stat.txt
	patching file tools/perf/Documentation/perf-top.txt
	patching file tools/perf/Makefile.config
	patching file tools/perf/Makefile.perf
	Hunk #3 FAILED at 834.
	1 out of 3 hunks FAILED -- saving rejects to file tools/perf/Makefile.perf.rej
	patching file tools/perf/builtin-list.c
	patching file tools/perf/builtin-record.c
	patching file tools/perf/builtin-stat.c
	patching file tools/perf/builtin-top.c
	Hunk #2 succeeded at 1549 (offset 2 lines).
	Hunk #3 succeeded at 1567 (offset 2 lines).
	patching file tools/perf/util/evsel.c
	patching file tools/perf/util/evsel.h
	patching file tools/perf/util/parse-events.c
	patching file tools/perf/util/parse-events.h
	patching file tools/perf/util/pmu.c
	Hunk #1 succeeded at 869 (offset 5 lines).
	patching file tools/perf/util/pmu.h
	Hunk #1 succeeded at 65 (offset 1 line).

jirka