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

From: Ingo Molnar
Date: Tue Mar 28 2017 - 01:47:01 EST



* Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:

> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit e3a6a62400520452fe39740dca90a1d0b94b8f92:
>
> Merge tag 'perf-core-for-mingo-4.12-20170324' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-03-24 19:37:40 +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-4.12-20170327
>
> for you to fetch changes up to 55f77128e7652e537d6c226d5b56821cdb5c22de:
>
> perf utils: Readlink /proc/self/exe to find the perf binary (2017-03-27 15:37:54 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> New features:
>
> - Handle inline functions in callchains (Jin Yao)
>
> - Enable sorting by srcline as key (Milian Wolff)
>
> Fixes:
>
> - Fix no_size logic in addr_filter__resolve_kernel_syms() in the
> auxtrace code (Adrian Hunter)
>
> - Fix some thread refcount leaks in 'perf trace' (Arnaldo Carvalho de Melo)
>
> - Fix divide by zero when calculating percent for an event in a group in
> the annotate by source line code (Taeung Song)
>
> - build-id files now aren't anymore symlinks, their parent directories
> are, so readlink the later (Taeung Song)
>
> - Assorted fixes for null termination problems, mostly related to
> readlink, detected by valgrind (Tommi Rantala)
>
> Infrastructure:
>
> - Make vfs_getname probe point logic in 'perf trace' more robust
> wrt length of pathname (Arnaldo Carvalho de Melo)
>
> - Remove unused 'prefix' parameter from builtins main functions (Arnaldo Carvalho de Melo)
>
> - Show 'perf list sdt' option in man page (Ravi Bangoria)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> Adrian Hunter (1):
> perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms()
>
> Arnaldo Carvalho de Melo (4):
> perf trace: Check for vfs_getname.pathname length
> perf trace: Fix up error path indentation
> perf trace: Fixup thread refcounting
> perf tools: Remove unused 'prefix' from builtin functions
>
> Jin Yao (5):
> perf report: Refactor common code in srcline.c
> perf report: Find the inline stack for a given address
> perf report: Introduce --inline option
> perf report: Show inline stack for stdio mode
> perf report: Show inline stack for browser mode
>
> Milian Wolff (1):
> perf report: Enable sorting by srcline as key
>
> Ravi Bangoria (1):
> perf list sdt: Show option in man page
>
> Taeung Song (2):
> perf annotate: Fix a bug following symbolic link of a build-id file
> perf annotate: Fix a bug of division by zero when calculating percent
>
> Tommi Rantala (6):
> perf buildid: Do not update SDT cache with null filename
> perf buildid: Do not assume that readlink() returns a null terminated string
> perf tests: Do not assume that readlink() returns a null terminated string
> perf utils: use sizeof(buf) - 1 in readlink() call
> perf utils: Null terminate buf in read_ftrace_printk()
> perf utils: Readlink /proc/self/exe to find the perf binary
>
> tools/perf/Documentation/perf-list.txt | 4 +-
> tools/perf/Documentation/perf-report.txt | 5 +
> tools/perf/bench/bench.h | 20 +--
> tools/perf/bench/futex-hash.c | 3 +-
> tools/perf/bench/futex-lock-pi.c | 3 +-
> tools/perf/bench/futex-requeue.c | 3 +-
> tools/perf/bench/futex-wake-parallel.c | 3 +-
> tools/perf/bench/futex-wake.c | 3 +-
> tools/perf/bench/mem-functions.c | 4 +-
> tools/perf/bench/numa.c | 2 +-
> tools/perf/bench/sched-messaging.c | 3 +-
> tools/perf/bench/sched-pipe.c | 2 +-
> tools/perf/builtin-annotate.c | 2 +-
> tools/perf/builtin-bench.c | 12 +-
> tools/perf/builtin-buildid-cache.c | 3 +-
> tools/perf/builtin-buildid-list.c | 3 +-
> tools/perf/builtin-c2c.c | 4 +-
> tools/perf/builtin-config.c | 2 +-
> tools/perf/builtin-data.c | 9 +-
> tools/perf/builtin-diff.c | 2 +-
> tools/perf/builtin-evlist.c | 2 +-
> tools/perf/builtin-ftrace.c | 2 +-
> tools/perf/builtin-help.c | 2 +-
> tools/perf/builtin-inject.c | 2 +-
> tools/perf/builtin-kallsyms.c | 2 +-
> tools/perf/builtin-kmem.c | 4 +-
> tools/perf/builtin-kvm.c | 16 +-
> tools/perf/builtin-list.c | 2 +-
> tools/perf/builtin-lock.c | 6 +-
> tools/perf/builtin-mem.c | 6 +-
> tools/perf/builtin-probe.c | 6 +-
> tools/perf/builtin-record.c | 2 +-
> tools/perf/builtin-report.c | 4 +-
> tools/perf/builtin-sched.c | 6 +-
> tools/perf/builtin-script.c | 4 +-
> tools/perf/builtin-stat.c | 2 +-
> tools/perf/builtin-timechart.c | 7 +-
> tools/perf/builtin-top.c | 2 +-
> tools/perf/builtin-trace.c | 25 ++--
> tools/perf/builtin-version.c | 3 +-
> tools/perf/builtin.h | 58 ++++----
> tools/perf/perf.c | 11 +-
> tools/perf/tests/builtin-test.c | 2 +-
> tools/perf/tests/sdt.c | 2 +-
> tools/perf/ui/browsers/hists.c | 181 ++++++++++++++++++++++-
> tools/perf/ui/stdio/hist.c | 86 ++++++++++-
> tools/perf/util/annotate.c | 23 ++-
> tools/perf/util/auxtrace.c | 4 +-
> tools/perf/util/build-id.c | 8 +-
> tools/perf/util/callchain.c | 52 ++++++-
> tools/perf/util/callchain.h | 3 +-
> tools/perf/util/header.c | 8 +-
> tools/perf/util/hist.c | 5 +
> tools/perf/util/map.c | 3 +-
> tools/perf/util/sort.c | 16 +-
> tools/perf/util/sort.h | 1 +
> tools/perf/util/srcline.c | 246 +++++++++++++++++++++++++++----
> tools/perf/util/symbol-elf.c | 5 +
> tools/perf/util/symbol-minimal.c | 7 +
> tools/perf/util/symbol.h | 5 +-
> tools/perf/util/trace-event-read.c | 4 +-
> tools/perf/util/util.h | 20 ++-
> 62 files changed, 739 insertions(+), 208 deletions(-)

Pulled, thanks a lot Arnaldo!

Ingo