Re: [GIT PULL 00/19] perf/core improvements and fixes

From: Arnaldo Carvalho de Melo
Date: Fri Apr 08 2016 - 09:15:55 EST


Em Thu, Apr 07, 2016 at 05:58:21PM -0300, Arnaldo Carvalho de Melo escreveu:
> Hi Ingo,
>
> Please consider pulling, build tested on:

Ingo, if you haven't pulled this one, please pull instead
perf-core-for-mingo-20160408, which has the same tag text and contents +
a Tested-by tag from Milian for the unwind thread one and a bisection
fix one liner for the syscall_tbl generation from Wang,

Thanks,

- Arnaldo

> # perf stat -e cycles dm
> alldeps-ubuntu-12.04: Ok
> minimal-debian-experimental-x-mips64: Ok
> minimal-debian-experimental-x-mips64el: Ok
> minimal-debian-experimental-x-mipsel: Ok
> minimal-ubuntu-x-arm: Ok
> minimal-ubuntu-x-arm64: Ok
> minimal-ubuntu-x-ppc64: Ok
> minimal-ubuntu-x-ppc64el: Ok
> alldeps-debian: Ok
> alldeps-mageia: Ok
> alldeps-rhel7: Ok
> alldeps-centos: Ok
> alldeps-opensuse: Ok
> alldeps-ubuntu: Ok
>
> Performance counter stats for 'dm':
>
> 3,095,685,547 cycles
>
> 454.805537820 seconds time elapsed
>
> #
>
> 'perf test' passes on fedora23 x86_64,
>
> Thanks,
>
> - Arnaldo
>
> The following changes since commit dad38ca64a252144b4ccdfe9730a3fe2b7c61957:
>
> Merge tag 'perf-core-for-mingo-20160401' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-04-06 08:46:23 +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-20160407
>
> for you to fetch changes up to 98c3d844cd0bc56d33800114e6b6adcd0a5ec381:
>
> perf symbols: Adjust symbol for shared objects (2016-04-07 17:17:01 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - Beautify more syscall arguments in 'perf trace', using the type column in
> tracepoint /format fields to attach, for instance, a pid_t resolver to the
> thread COMM, also attach a mode_t beautifier in the same fashion
> (Arnaldo Carvalho de Melo)
>
> - Build the syscall table id <-> name resolver using the same .tbl file
> used in the kernel to generate headers, to avoid the delay in getting
> new syscalls supported in the audit-libs external dependency, done so
> far only for x86_64 (Arnaldo Carvalho de Melo)
>
> - Improve the documentation of event specifications (Andi Kleen)
>
> - Process update events in 'perf script', fixing up this use case:
>
> # perf stat -a -I 1000 -e cycles record | perf script -s script.py
>
> - Shared object symbol adjustment fixes, fixing symbol resolution in
> Android (Wang Nan)
>
> Infrastructure:
>
> - Add dedicated unwind addr_space member into thread struct, to allow
> tools to use thread->priv, noticed while working on having callchains
> in 'perf trace' (Jiri Olsa)
>
> Build fixes:
>
> - Fix the build in Ubuntu 12.04 (Arnaldo Carvalho de Melo, Vinson Lee)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> Andi Kleen (1):
> perf list: Document event specifications better
>
> Arnaldo Carvalho de Melo (11):
> perf probe: Check if dwarf_getlocations() is available
> perf script perl: Do error checking on new backtrace routine
> perf trace: Beautify sched_setscheduler 'policy' argument
> perf trace: Beautify wait4/waitid 'options' argument
> perf trace: Infrastructure to show COMM strings for syscalls returning PIDs
> perf trace: Beautify set_tid_address, getpid, getppid return values
> perf trace: Beautify pid_t arguments
> perf trace: Beautify mode_t arguments
> perf trace: Move syscall table id <-> name routines to separate class
> perf tools: Allow generating per-arch syscall table arrays
> perf tools: Build syscall table .c header from kernel's syscall_64.tbl
>
> Jiri Olsa (4):
> perf tools: Remove superfluous ARCH Makefile includes
> perf tools: Introduce trim function
> perf tools: Add dedicated unwind addr_space member into thread struct
> perf script: Process event update events
>
> Vinson Lee (1):
> perf config: Fix build with older toolchain.
>
> Wang Nan (2):
> perf symbols: Record text offset in dso to calculate objdump address
> perf symbols: Adjust symbol for shared objects
>
> tools/build/Makefile.feature | 2 +
> tools/build/feature/Makefile | 4 +
> tools/build/feature/test-all.c | 5 +
> tools/build/feature/test-dwarf_getlocations.c | 12 +
> tools/perf/Documentation/perf-list.txt | 107 +++++-
> tools/perf/Makefile.perf | 13 +-
> tools/perf/arch/x86/Makefile | 23 ++
> tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 374 +++++++++++++++++++++
> tools/perf/arch/x86/entry/syscalls/syscalltbl.sh | 39 +++
> tools/perf/builtin-script.c | 1 +
> tools/perf/builtin-trace.c | 156 +++++----
> tools/perf/config/Makefile | 11 +-
> tools/perf/trace/beauty/mode_t.c | 68 ++++
> tools/perf/trace/beauty/pid.c | 18 +
> tools/perf/trace/beauty/sched_policy.c | 44 +++
> tools/perf/trace/beauty/waitid_options.c | 26 ++
> tools/perf/ui/browsers/hists.c | 3 +-
> tools/perf/ui/stdio/hist.c | 3 +-
> tools/perf/util/Build | 5 +
> tools/perf/util/config.c | 6 +-
> tools/perf/util/dwarf-aux.c | 9 +
> tools/perf/util/map.c | 14 +
> .../perf/util/scripting-engines/trace-event-perl.c | 30 +-
> tools/perf/util/symbol-elf.c | 13 +-
> tools/perf/util/syscalltbl.c | 134 ++++++++
> tools/perf/util/syscalltbl.h | 20 ++
> tools/perf/util/thread.h | 6 +
> tools/perf/util/unwind-libunwind.c | 25 +-
> tools/perf/util/util.h | 5 +
> 29 files changed, 1060 insertions(+), 116 deletions(-)
> create mode 100644 tools/build/feature/test-dwarf_getlocations.c
> create mode 100644 tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
> create mode 100755 tools/perf/arch/x86/entry/syscalls/syscalltbl.sh
> create mode 100644 tools/perf/trace/beauty/mode_t.c
> create mode 100644 tools/perf/trace/beauty/pid.c
> create mode 100644 tools/perf/trace/beauty/sched_policy.c
> create mode 100644 tools/perf/trace/beauty/waitid_options.c
> create mode 100644 tools/perf/util/syscalltbl.c
> create mode 100644 tools/perf/util/syscalltbl.h