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

From: Arnaldo Carvalho de Melo
Date: Tue Aug 23 2016 - 17:05:37 EST


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 ~]#