Re: [GIT PULL 00/20] perf/core improvements and fixes
* Arnaldo Carvalho de Melowrote: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit e7af7b15121ca08c31a0ab9df71a41b4c53365b4: > > Merge tag 'perf-core-for-mingo-20161201' of > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core > (2016-12-02 10:08:03 +0100) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git > tags/perf-core-for-mingo-20161205 > > for you to fetch changes up to bec60e50af83741cde1786ab475d4bf472aed6f9: > > perf annotate: Show raw form for jump instruction with indirect target > (2016-12-05 17:21:57 -0300) > > > perf/core improvements and fixes: > > Fixes: > > - Do not show a bogus target address in 'perf annotate' for targetless powerpc > jump instructions such as 'bctr' (Ravi Bangoria) > > - tools/build fixes related to race conditions with the fixdep utility (Jiri > Olsa) > > - Fix building objtool with clang (Peter Foley) > > Infrastructure: > > - Support linking perf with clang and LLVM libraries, initially statically, > but > this limitation will be lifted and shared libraries, when available, will > be preferred to the static build, that should, as with other features, be > enabled explicitly (Wang Nan) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Jiri Olsa (7): > tools build: Make fixdep parsing wait for last target > tools build: Make the .cmd file more readable > tools build: Move tabs to spaces where suitable > perf tools: Move install-gtk target into rules area > perf tools: Move python/perf.so target into rules area > perf tools: Cleanup build directory before each test > perf tools: Add non config targets > > Peter Foley (1): > tools build: Fix objtool build with clang > > Ravi Bangoria (1): > perf annotate: Show raw form for jump instruction with indirect target > > Wang Nan (11): > perf tools: Pass context to perf hook functions > perf llvm: Extract helpers in llvm-utils.c > tools build: Add feature detection for LLVM > tools build: Add feature detection for clang > perf build: Add clang and llvm compile and linking support > perf clang: Add builtin clang support ant test case > perf clang: Use real file system for #include > perf clang: Allow passing CFLAGS to builtin clang > perf clang: Update test case to use real BPF script > perf clang: Support compile IR to BPF object and add testcase > perf clang: Compile BPF script using builtin clang support > > tools/build/Build.include | 20 ++-- > tools/build/Makefile.feature | 138 +- > tools/build/feature/Makefile | 120 +-- > tools/build/feature/test-clang.cpp | 21 > tools/build/feature/test-llvm.cpp | 8 ++ > tools/build/fixdep.c | 5 +- > tools/perf/Makefile.config | 62 +--- > tools/perf/Makefile.perf | 56 +++ > tools/perf/tests/Build | 1 + > tools/perf/tests/builtin-test.c| 9 ++ > tools/perf/tests/clang.c | 46 + > tools/perf/tests/llvm.h| 7 ++ > tools/perf/tests/make | 4 +- > tools/perf/tests/perf-hooks.c | 14 ++- > tools/perf/tests/tests.h | 3 + > tools/perf/util/Build | 2 + > tools/perf/util/annotate.c | 3 + > tools/perf/util/bpf-loader.c | 19 +++- > tools/perf/util/c++/Build | 2 + > tools/perf/util/c++/clang-c.h | 43 > tools/perf/util/c++/clang-test.cpp | 62 > tools/perf/util/c++/clang.cpp | 195 > + > tools/perf/util/c++/clang.h| 26 + > tools/perf/util/llvm-utils.c | 76 +++ > tools/perf/util/llvm-utils.h | 6 ++ > tools/perf/util/perf-hooks.c | 10 +- > tools/perf/util/perf-hooks.h | 6 +- > tools/perf/util/util-cxx.h | 26 + > 28 files changed, 795 insertions(+), 195 deletions(-) > create mode 100644 tools/build/feature/test-clang.cpp > create mode 100644 tools/build/feature/test-llvm.cpp > create mode 100644 tools/perf/tests/clang.c > create mode 100644 tools/perf/util/c++/Build > create mode 100644 tools/perf/util/c++/clang-c.h > create mode 100644 tools/perf/util/c++/clang-test.cpp > create mode 100644 tools/perf/util/c++/clang.cpp > create mode 100644 tools/perf/util/c++/clang.h > create mode 100644 tools/perf/util/util-cxx.h > > # uname -a > Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 > x86_64 x86_64 x86_64 GNU/Linux > # perf test >1: vmlinux symtab
[GIT PULL 00/20] perf/core improvements and fixes
Hi Ingo, Please consider pulling, - Arnaldo Test results at the end of this message, as usual. The following changes since commit e7af7b15121ca08c31a0ab9df71a41b4c53365b4: Merge tag 'perf-core-for-mingo-20161201' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-12-02 10:08:03 +0100) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20161205 for you to fetch changes up to bec60e50af83741cde1786ab475d4bf472aed6f9: perf annotate: Show raw form for jump instruction with indirect target (2016-12-05 17:21:57 -0300) perf/core improvements and fixes: Fixes: - Do not show a bogus target address in 'perf annotate' for targetless powerpc jump instructions such as 'bctr' (Ravi Bangoria) - tools/build fixes related to race conditions with the fixdep utility (Jiri Olsa) - Fix building objtool with clang (Peter Foley) Infrastructure: - Support linking perf with clang and LLVM libraries, initially statically, but this limitation will be lifted and shared libraries, when available, will be preferred to the static build, that should, as with other features, be enabled explicitly (Wang Nan) Signed-off-by: Arnaldo Carvalho de MeloJiri Olsa (7): tools build: Make fixdep parsing wait for last target tools build: Make the .cmd file more readable tools build: Move tabs to spaces where suitable perf tools: Move install-gtk target into rules area perf tools: Move python/perf.so target into rules area perf tools: Cleanup build directory before each test perf tools: Add non config targets Peter Foley (1): tools build: Fix objtool build with clang Ravi Bangoria (1): perf annotate: Show raw form for jump instruction with indirect target Wang Nan (11): perf tools: Pass context to perf hook functions perf llvm: Extract helpers in llvm-utils.c tools build: Add feature detection for LLVM tools build: Add feature detection for clang perf build: Add clang and llvm compile and linking support perf clang: Add builtin clang support ant test case perf clang: Use real file system for #include perf clang: Allow passing CFLAGS to builtin clang perf clang: Update test case to use real BPF script perf clang: Support compile IR to BPF object and add testcase perf clang: Compile BPF script using builtin clang support tools/build/Build.include | 20 ++-- tools/build/Makefile.feature | 138 +- tools/build/feature/Makefile | 120 +-- tools/build/feature/test-clang.cpp | 21 tools/build/feature/test-llvm.cpp | 8 ++ tools/build/fixdep.c | 5 +- tools/perf/Makefile.config | 62 +--- tools/perf/Makefile.perf | 56 +++ tools/perf/tests/Build | 1 + tools/perf/tests/builtin-test.c| 9 ++ tools/perf/tests/clang.c | 46 + tools/perf/tests/llvm.h| 7 ++ tools/perf/tests/make | 4 +- tools/perf/tests/perf-hooks.c | 14 ++- tools/perf/tests/tests.h | 3 + tools/perf/util/Build | 2 + tools/perf/util/annotate.c | 3 + tools/perf/util/bpf-loader.c | 19 +++- tools/perf/util/c++/Build | 2 + tools/perf/util/c++/clang-c.h | 43 tools/perf/util/c++/clang-test.cpp | 62 tools/perf/util/c++/clang.cpp | 195 + tools/perf/util/c++/clang.h| 26 + tools/perf/util/llvm-utils.c | 76 +++ tools/perf/util/llvm-utils.h | 6 ++ tools/perf/util/perf-hooks.c | 10 +- tools/perf/util/perf-hooks.h | 6 +- tools/perf/util/util-cxx.h | 26 + 28 files changed, 795 insertions(+), 195 deletions(-) create mode 100644 tools/build/feature/test-clang.cpp create mode 100644 tools/build/feature/test-llvm.cpp create mode 100644 tools/perf/tests/clang.c create mode 100644 tools/perf/util/c++/Build create mode 100644 tools/perf/util/c++/clang-c.h create mode 100644 tools/perf/util/c++/clang-test.cpp create mode 100644 tools/perf/util/c++/clang.cpp create mode 100644 tools/perf/util/c++/clang.h create mode 100644 tools/perf/util/util-cxx.h # uname -a Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux # perf test 1: vmlinux symtab matches kallsyms: Ok 2: Detect openat syscall event: Ok 3: Detect openat syscall event on all cpus: Ok 4: Read samples using the mmap interface : Ok 5: Parse event definition strings : Ok 6: PERF_RECORD_* events & perf_sample fields :