From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752034AbbHTJua (ORCPT ); Thu, 20 Aug 2015 05:50:30 -0400 Received: from mail-wi0-f180.google.com ([209.85.212.180]:37825 "EHLO mail-wi0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751281AbbHTJu2 (ORCPT ); Thu, 20 Aug 2015 05:50:28 -0400 Date: Thu, 20 Aug 2015 11:50:23 +0200 From: Ingo Molnar To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , Adrian Hunter , Andi Kleen , Borislav Petkov , David Ahern , Frederic Weisbecker , Jiri Olsa , Masami Hiramatsu , Milian Wolff , Namhyung Kim , Peter Zijlstra , Stephane Eranian , Will Deacon Subject: Re: [GIT PULL 00/14] perf/core improvements and fixes Message-ID: <20150820095023.GB10635@gmail.com> References: <1439838727-6824-1-git-send-email-acme@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1439838727-6824-1-git-send-email-acme@kernel.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Arnaldo Carvalho de Melo wrote: > From: Arnaldo Carvalho de Melo > > 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 > > ---------------------------------------------------------------- > 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