Re: [PATCH v21 00/20] perf, tools: Add support for PMU events in JSON format
From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2016-09-19 23:38:07
Also in:
lkml
Em Mon, Sep 19, 2016 at 08:31:13PM -0300, Arnaldo Carvalho de Melo escreveu:
Em Mon, Sep 19, 2016 at 06:20:17PM -0300, Arnaldo Carvalho de Melo escreveu:quoted
Em Thu, Sep 15, 2016 at 03:24:37PM -0700, Sukadev Bhattiprolu escreveu:quoted
CPUs support a large number of performance monitoring events (PMU events) and often these events are very specific to an architecture/model of the CPU. To use most of these PMU events with perf, we currently have to identify them by their raw codes: perf stat -e r100f2 sleep 1So, trying to build this with my set of containers I get lots of failures, double checking running on another machine with those containers for the segfault cases, changing sys/fcntl.h to fcntl.h cures the build on alpine:3.4 (musl libc), will try to fix all of them. The list is incomplete, lots of other systems failed as well. - Arnaldo1 alpine:3.4: Ok Fixed with fcntl.h + capping the maxfds parameter to nftw to avoid it exploding on alloca() in environments where rlim_max is set to a high value, like in docker. Now looking at: CC /tmp/build/perf/fs/tracing_path.o In file included from /git/linux/tools/include/linux/types.h:4:0, from /opt/android-ndk-r12b/platforms/android-24/arch-arm/usr/include/sys/types.h:35, from /opt/android-ndk-r12b/platforms/android-24/arch-arm/usr/include/strings.h:42, from /opt/android-ndk-r12b/platforms/android-24/arch-arm/usr/include/stdlib.h:36, from pmu-events/json.c:31: pmu-events/json.h:15:22: error: two or more data types in declaration specifiers typedef unsigned int bool; Which looks like clashing with stdbool.h...
yeah, changing that typedef + true def to plain include <stdbool.h> makes it progress to the next failure, which is in cross compilation environments, such as using fedora 24 + the Android NDK to try to build a ARM android binary. On the bright side, in addition to alpine:3.4 now these are building ok: 3 archlinux:latest: Ok 4 centos:5: Ok 5 centos:6: Ok 6 centos:7: Ok 7 debian:7: Ok 8 debian:8: Ok 9 fedora:20: Ok Waiting for some extra cross compilation envs to check that hunch... - Arnaldo