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

From: Ingo Molnar
Date: Wed Aug 24 2016 - 05:09:40 EST



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

> Hi Ingo,
>
> Please consider pulling, I first merged tip/perf/urgent into a
> tip/perf/core and rebased the patches I had in acme/perf/core.
>
> - Arnaldo
>
> Build stats at the end of this message.
>
> The following changes since commit ce90c12d2453aa6be743719bb0a5d4040b92700f:
>
> Merge branch 'perf/urgent' into perf/core, to pick up fixes before merging new changes (2016-08-23 15:35:47 -0300)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160823
>
> for you to fetch changes up to 5e30d55c71de058e4156080fe32d426c22d094cb:
>
> perf record: Fix spelling mistake "Finshed" -> "Finished" (2016-08-23 17:06:40 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> . Allow configuring the default 'perf report -s' sort order in ~/.perfconfig,
> for instance, "sym,dso" may be more fitting for kernel developers. (Arnaldo Carvalho de Melo)
>
> - Support x8/x16/x32/x64 hexadecimal "types" in ftrace and 'perf probe' (Masami Hiramatsu)
>
> Infrastructure:
>
> - Skip running the feature tests for 'make install-doc' (Rui Teng)
>
> - Introduce tools/include/linux/time64.h with *SEC_PER_*SEC macros
> to use in all of tools/ (Arnaldo Carvalho de Melo)
>
> - Break down symbol__disassemble() into multiple functions, to ease
> future work on better reporting the errors that may take place in
> the various steps it performs (possibly decompressing kernel module
> files, getting build-id keyed files, calling objdump, parsing its
> output, etc) (Arnaldo Carvalho de Melo)
>
> - Typo fixes in various places (Colin Ian King)
>
> - Remove superfluous NULL check in the TUI code (Colin Ian King)
>
> - Allow displaying multiple header lines in the TUI browser, prep
> work for the 'perf c2c' browser (Jiri Olsa)
>
> - Copy coresight-pmu.h header file needed by perf tools (Mathieu Poirier)
>
> - Use __weak definition from linux/compiler.h (Rui Teng)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
>
> Arnaldo Carvalho de Melo (16):
> tools: Introduce tools/include/linux/time64.h for *SEC_PER_*SEC macros
> perf bench numa: Use NSEC_PER_U?SEC
> perf sched: Use linux/time64.h
> perf timechart: Use NSEC_PER_U?SEC
> perf bench sched-pipe: Use linux/time64.h, USEC_PER_SEC
> perf stat: Use *SEC_PER_*SEC macros
> perf bench mem: Use USEC_PER_SEC
> perf bench sched-messaging: Use USEC_PER_MSEC
> perf record: Use USEC_PER_MSEC
> perf kvm: Use NSEC_PER_USEC
> perf bench futex: Use NSEC_PER_USEC
> perf top: Use MSEC_PER_SEC
> perf disassemble: Move check for kallsyms + !kcore
> perf disassemble: Simplify logic for picking the filename to disassemble
> perf disassemble: Extract logic to find file to pass to objdump to a separate function
> perf report: Allow configuring the default sort order in ~/.perfconfig
>
> Colin Ian King (5):
> perf hists browser: Remove superfluous null check on map
> perf tools: Fix typo: "ehough" -> "enough"
> perf test bpf: Fix typo: "ehough" -> "enough"
> perf bpf: Fix typo: "ehough" -> "enough"
> perf record: Fix spelling mistake "Finshed" -> "Finished"
>
> Jiri Olsa (5):
> perf hists: Introduce nr_header_lines into struct perf_hpp_list
> perf hists: Add line argument into perf_hpp_fmt's header callback
> perf tools tui: Display multiple header lines
> perf tools stdio: Display multiple header lines
> perf hists: Add support for header span
>
> Masami Hiramatsu (6):
> ftrace: kprobe: uprobe: Add x8/x16/x32/x64 for hexadecimal types
> ftrace: probe: Add README entries for k/uprobe-events
> perf probe: Add supported for type casting by the running kernel
> perf probe: Support hexadecimal casting
> perf probe: Use hexadecimal type by default if possible
> ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal
>
> Mathieu Poirier (1):
> tools: Copy coresight-pmu.h header file needed by perf tools
>
> Rui Teng (2):
> perf tools: Use __weak definition from linux/compiler.h
> perf tools: Skip running the feature tests for 'make install-doc'
>
> Documentation/trace/kprobetrace.txt | 9 ++-
> Documentation/trace/uprobetracer.txt | 9 ++-
> kernel/trace/trace.c | 24 ++++++
> kernel/trace/trace_kprobe.c | 4 +
> kernel/trace/trace_probe.c | 30 ++++----
> kernel/trace/trace_probe.h | 11 ++-
> kernel/trace/trace_uprobe.c | 4 +
> tools/include/linux/coresight-pmu.h | 39 ++++++++++
> tools/include/linux/time64.h | 12 +++
> tools/perf/Documentation/perf-config.txt | 4 +
> tools/perf/Documentation/perf-probe.txt | 5 +-
> tools/perf/MANIFEST | 2 +
> tools/perf/Makefile.perf | 5 +-
> tools/perf/bench/futex-requeue.c | 5 +-
> tools/perf/bench/futex-wake-parallel.c | 5 +-
> tools/perf/bench/futex-wake.c | 5 +-
> tools/perf/bench/mem-functions.c | 3 +-
> tools/perf/bench/numa.c | 53 ++++++-------
> tools/perf/bench/sched-messaging.c | 5 +-
> tools/perf/bench/sched-pipe.c | 9 ++-
> tools/perf/builtin-diff.c | 4 +-
> tools/perf/builtin-kvm.c | 11 +--
> tools/perf/builtin-record.c | 8 +-
> tools/perf/builtin-report.c | 4 +
> tools/perf/builtin-sched.c | 37 ++++-----
> tools/perf/builtin-script.c | 7 +-
> tools/perf/builtin-stat.c | 19 ++---
> tools/perf/builtin-timechart.c | 13 ++--
> tools/perf/builtin-top.c | 3 +-
> tools/perf/builtin-trace.c | 1 +
> tools/perf/perf.h | 7 --
> tools/perf/tests/backward-ring-buffer.c | 2 +-
> tools/perf/tests/bpf.c | 2 +-
> tools/perf/ui/browsers/hists.c | 50 +++++++++----
> tools/perf/ui/gtk/hists.c | 2 +-
> tools/perf/ui/hist.c | 4 +-
> tools/perf/ui/stdio/hist.c | 45 +++++++----
> tools/perf/util/annotate.c | 87 +++++++++++-----------
> tools/perf/util/bpf-loader.c | 2 +-
> tools/perf/util/debug.c | 10 +--
> tools/perf/util/header.c | 3 +-
> tools/perf/util/hist.h | 3 +-
> tools/perf/util/probe-file.c | 57 ++++++++++++++
> tools/perf/util/probe-file.h | 10 +++
> tools/perf/util/probe-finder.c | 19 +++--
> .../perf/util/scripting-engines/trace-event-perl.c | 5 +-
> .../util/scripting-engines/trace-event-python.c | 5 +-
> tools/perf/util/sort.c | 9 ++-
> tools/perf/util/sort.h | 2 +-
> tools/perf/util/svghelper.c | 11 +--
> tools/perf/util/util.c | 1 +
> tools/perf/util/util.h | 4 -
> 52 files changed, 464 insertions(+), 226 deletions(-)
> create mode 100644 tools/include/linux/coresight-pmu.h
> create mode 100644 tools/include/linux/time64.h
>
> Build Stats:
>
> News:
>
> The fedora:24-x-ARC-uClibc adds the ARC arch and the uClibc libc to the mix of
> targets tested, still with a minimal build that doesn't include even libelf,
> that will be added soon, using a more full featured pre-built toolchain provided
> by the Synopsys folks.
>
> [root@jouet ~]# time dm
> 1 70.304638757 alpine:3.4: Ok
> 2 24.806303766 android-ndk:r12b-arm: Ok
> 3 71.829633643 archlinux:latest: Ok
> 4 39.316551941 centos:5: Ok
> 5 59.282978228 centos:6: Ok
> 6 69.836088394 centos:7: Ok
> 7 63.476952272 debian:7: Ok
> 8 69.450110099 debian:8: Ok
> 9 72.484714796 debian:experimental: Ok
> 10 69.730035221 fedora:20: Ok
> 11 73.629813614 fedora:21: Ok
> 12 71.955425760 fedora:22: Ok
> 13 73.015579053 fedora:23: Ok
> 14 81.186943795 fedora:24: Ok
> 15 31.401503154 fedora:24-x-ARC-uClibc: Ok
> 16 78.366606942 fedora:rawhide: Ok
> 17 77.434661064 mageia:5: Ok
> 18 74.491020416 opensuse:13.2: Ok
> 19 71.673570141 opensuse:42.1: Ok
> 20 79.587415167 opensuse:tumbleweed: Ok
> 21 57.802976895 ubuntu:12.04.5: Ok
> 22 68.505810699 ubuntu:14.04.4: Ok
> 23 69.478057262 ubuntu:15.10: Ok
> 24 65.596669700 ubuntu:16.04: Ok
> 25 52.759886216 ubuntu:16.04-x-arm: Ok
> 26 52.389293077 ubuntu:16.04-x-arm64: Ok
> 27 52.319141734 ubuntu:16.04-x-powerpc64: Ok
> 28 54.378287607 ubuntu:16.04-x-powerpc64el: Ok
> 29 72.794919209 ubuntu:16.10: Ok
> 30 53.351899868 ubuntu:16.10-x-s390: Ok
> 1922.64s
>
> real 32m3.246s
> user 0m1.858s
> sys 0m2.363s
> [root@jouet ~]#

Pulled, thanks a lot Arnaldo!

Ingo