* Arnaldo Carvalho de Melo <a...@kernel.org> wrote: > From: Arnaldo Carvalho de Melo <a...@redhat.com> > > Hi Ingo, > > This comes with part of Adrian's latest pull req to support Intel PT > on tools/perf, with enough to testing it, see the example in the latest > patch in this series. > > More wore patches for BTS and further Intel PT goodies will come soon, > after some issues with resolving symbols get fixed. This was something that > wasn't present last time I tested the BTS bits, so I think we should resolve > it soon, but while we do it, these patches should move things forward wrt > being able to test the stuff already in the kernel and to have access to this > hardware feature using perf. > > Please consider applying, > > - Arnaldo > > The following changes since commit a897b5f0393a8a05d230c9248dc5324fb30720a0: > > Merge tag 'perf-core-for-mingo' of > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core > (2015-08-13 09:23:53 +0200) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git > tags/perf-core-for-mingo > > for you to fetch changes up to 5efb1d5489520ce72232bbc28e9156f0ebddc44e: > > perf tools: Take Intel PT into use (2015-08-17 11:11:37 -0300) > > ---------------------------------------------------------------- > perf/core improvements and fixes: > > - Support Intel PT in several tools, enabling the use of the processor trace > feature introduced in Intel Broadwell processors: (Adrian Hunter) > > # dmesg | grep Performance > # [0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, > full-width counters, Intel PMU driver. > # perf record -e intel_pt//u -a sleep 1 > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.216 MB perf.data ] > # perf script # then navigate in the tool output to some area, like this one: > 184 1030 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba661440 dl_main > (/usr/lib64/ld-2.17.so) > 185 1457 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba669f10 _dl_new_object > (/usr/lib64/ld-2.17.so) > 186 9f37 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba677b90 strlen > (/usr/lib64/ld-2.17.so) > 187 7ba3 strlen (/usr/lib64/ld-2.17.so) => 7f21ba677c75 strlen > (/usr/lib64/ld-2.17.so) > 188 7c78 strlen (/usr/lib64/ld-2.17.so) => 7f21ba669f3c _dl_new_object > (/usr/lib64/ld-2.17.so) > 189 9f8a _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba65fab0 calloc@plt > (/usr/lib64/ld-2.17.so) > 190 fab0 calloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e70 calloc > (/usr/lib64/ld-2.17.so) > 191 5e87 calloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa90 malloc@plt > (/usr/lib64/ld-2.17.so) > 192 fa90 malloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e60 malloc > (/usr/lib64/ld-2.17.so) > 193 5e68 malloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa80 __libc_memalign@plt > (/usr/lib64/ld-2.17.so) > 194 fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) => 7f21ba675d50 > __libc_memalign (/usr/lib64/ld-2.17.so) > 195 5d63 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e20 > __libc_memalign (/usr/lib64/ld-2.17.so) > 196 5e40 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675d73 > __libc_memalign (/usr/lib64/ld-2.17.so) > 197 5d97 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e18 > __libc_memalign (/usr/lib64/ld-2.17.so) > 198 5e1e __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675df9 > __libc_memalign (/usr/lib64/ld-2.17.so) > 199 5e10 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba669f8f > _dl_new_object (/usr/lib64/ld-2.17.so) > 200 9fc2 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba678e70 memcpy > (/usr/lib64/ld-2.17.so) > 201 8e8c memcpy (/usr/lib64/ld-2.17.so) => 7f21ba678ea0 memcpy > (/usr/lib64/ld-2.17.so) > > - Fix annotation of vdso (Adrian Hunter) > > - Fix DWARF callchains in 'perf script' (Jiri Olsa) > > - Fix adding probes in kernel syscalls and listing which variables can be > collected at kernel syscall function lines (Masami Hiramatsu) > > Build Fixes: > > - Fix 32-bit compilation error in util/annotate.c (Adrian Hunter) > > - Support static linking with libdw on Fedora 22 (Andi Kleen) > > Infrastructure: > > - Add a helper function to probe whether cpu-wide tracing is possible (Adrian > Hunter) > > - Move vfs_getname storage to per thread area in 'perf trace' (Arnaldo > Carvalho de Melo) > > Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com> > > ---------------------------------------------------------------- > Adrian Hunter (10): > perf annotate: Fix 32-bit compilation error in util/annotate.c > perf symbols: Fix annotation of vdso > perf tools: Add a helper function to probe whether cpu-wide tracing is > possible > perf auxtrace: Add Intel PT as an AUX area tracing type > perf tools: Add Intel PT packet decoder > perf tools: Add Intel PT instruction decoder > perf tools: Add Intel PT log > perf tools: Add Intel PT decoder > perf tools: Add Intel PT support > perf tools: Take Intel PT into use > > Andi Kleen (1): > perf tools: Support static linking with libdw > > Arnaldo Carvalho de Melo (1): > perf trace: Move vfs_getname storage to per thread area > > Jiri Olsa (1): > perf script: Initialize callchain_param.record_mode > > Masami Hiramatsu (1): > perf probe: Fix to add missed brace around if block > > tools/build/Makefile.build | 2 + > tools/build/feature/Makefile | 7 +- > tools/perf/.gitignore | 1 + > tools/perf/Documentation/intel-pt.txt | 588 ++++++ > tools/perf/Makefile.perf | 12 +- > tools/perf/arch/x86/util/Build | 4 + > tools/perf/arch/x86/util/auxtrace.c | 38 + > tools/perf/arch/x86/util/intel-pt.c | 752 ++++++++ > tools/perf/arch/x86/util/pmu.c | 15 + > tools/perf/builtin-script.c | 17 + > tools/perf/builtin-trace.c | 38 +- > tools/perf/config/Makefile | 6 +- > tools/perf/util/Build | 2 + > tools/perf/util/annotate.c | 4 +- > tools/perf/util/auxtrace.c | 6 +- > tools/perf/util/auxtrace.h | 1 + > tools/perf/util/dwarf-aux.c | 3 +- > tools/perf/util/evlist.h | 1 + > tools/perf/util/intel-pt-decoder/Build | 11 + > .../util/intel-pt-decoder/gen-insn-attr-x86.awk | 386 ++++ > tools/perf/util/intel-pt-decoder/inat.c | 96 + > tools/perf/util/intel-pt-decoder/inat.h | 221 +++ > tools/perf/util/intel-pt-decoder/insn.c | 594 ++++++ > tools/perf/util/intel-pt-decoder/insn.h | 201 ++ > .../perf/util/intel-pt-decoder/intel-pt-decoder.c | 1816 +++++++++++++++++++ > .../perf/util/intel-pt-decoder/intel-pt-decoder.h | 104 ++ > .../util/intel-pt-decoder/intel-pt-insn-decoder.c | 246 +++ > .../util/intel-pt-decoder/intel-pt-insn-decoder.h | 65 + > tools/perf/util/intel-pt-decoder/intel-pt-log.c | 155 ++ > tools/perf/util/intel-pt-decoder/intel-pt-log.h | 52 + > .../util/intel-pt-decoder/intel-pt-pkt-decoder.c | 400 ++++ > .../util/intel-pt-decoder/intel-pt-pkt-decoder.h | 64 + > .../perf/util/intel-pt-decoder/x86-opcode-map.txt | 970 ++++++++++ > tools/perf/util/intel-pt.c | 1911 > ++++++++++++++++++++ > tools/perf/util/intel-pt.h | 51 + > tools/perf/util/pmu.c | 4 +- > tools/perf/util/record.c | 24 + > tools/perf/util/symbol-elf.c | 11 + > 38 files changed, 8858 insertions(+), 21 deletions(-) > create mode 100644 tools/perf/Documentation/intel-pt.txt > create mode 100644 tools/perf/arch/x86/util/auxtrace.c > create mode 100644 tools/perf/arch/x86/util/intel-pt.c > create mode 100644 tools/perf/arch/x86/util/pmu.c > create mode 100644 tools/perf/util/intel-pt-decoder/Build > create mode 100644 tools/perf/util/intel-pt-decoder/gen-insn-attr-x86.awk > create mode 100644 tools/perf/util/intel-pt-decoder/inat.c > create mode 100644 tools/perf/util/intel-pt-decoder/inat.h > create mode 100644 tools/perf/util/intel-pt-decoder/insn.c > create mode 100644 tools/perf/util/intel-pt-decoder/insn.h > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-decoder.h > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.h > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-log.c > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-log.h > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c > create mode 100644 tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.h > create mode 100644 tools/perf/util/intel-pt-decoder/x86-opcode-map.txt > create mode 100644 tools/perf/util/intel-pt.c > create mode 100644 tools/perf/util/intel-pt.h
Pulled, thanks a lot Arnaldo! Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/