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

From: Ingo Molnar
Date: Thu Jul 14 2016 - 02:58:23 EST



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

> Hi Ingo,
>
> Please consider pulling,
>
> I've added building objtool to most of the containers in my build test setup:
>
> [root@jouet ~]# perf stat dm
> alpine:3.4: Ok
> centos:5: Ok
> centos:6: Ok
> centos:7: Ok
> debian:7: Ok
> debian:8: Ok
> debian:experimental: Ok
> fedora:21: Ok
> fedora:22: Ok
> fedora:23: Ok
> fedora:24: Ok
> fedora:rawhide: Ok
> mageia:5: Ok
> opensuse:13.2: Ok
> opensuse:42.1: Ok
> ubuntu:12.04.5: Ok
> ubuntu:14.04.4: Ok
> ubuntu:15.10: Ok
> ubuntu:16.04: Ok
>
> Performance counter stats for 'dm':
>
> 2601.121782 task-clock (msec) # 0.002 CPUs utilized
> 86,368 context-switches # 0.033 M/sec
> 5,740 cpu-migrations # 0.002 M/sec
> 53,962 page-faults # 0.021 M/sec
> 7,217,605,183 cycles # 2.775 GHz
> 6,534,540,119 instructions # 0.91 insn per cycle
> 1,408,715,184 branches # 541.580 M/sec
> 18,523,459 branch-misses # 1.31% of all branches
>
> 1541.746171526 seconds time elapsed
>
> [root@jouet ~]#
>
> - Arnaldo
>
> The following changes since commit 7b39cafb7aa68ef8e32a9f51fbe737d96084ca74:
>
> tools: Work around BITS_PER_LONG related build failure in objtool (2016-07-13 09:37:43 +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-20160713
>
> for you to fetch changes up to 8e5dc848356ecf6ea8d27d641c4d7ad8d42fe92b:
>
> perf test: Add a test case for SDT event (2016-07-13 23:09:10 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - Finish merging initial SDT (Statically Defined Traces) support, see
> cset comments for details about how it all works (Masami Hiramatsu)
>
> - Support attaching eBPF programs to tracepoints (Wang Nan)
>
> Infrastructure:
>
> - Fix up BITS_PER_LONG setting (Arnaldo Carvalho de Melo)
>
> - Add fallback from ELF_C_READ_MMAP to ELF_C_READ in objtool, fixing
> the build in libelf implementations lacking that elf_begin() cmd,
> such as Alpine Linux's (Arnaldo Carvalho de Melo)
>
> - Avoid checking code drift on busybox's diff in objtool (Arnaldo Carvalho de Melo)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
> tools: Fix up BITS_PER_LONG setting
> objtool: Add fallback from ELF_C_READ_MMAP to ELF_C_READ
> objtool: Avoid checking code drift on busybox's diff
>
> Masami Hiramatsu (11):
> perf probe: Fix to show correct error message for $vars and $params
> perf probe: Accept %sdt and %cached event name
> perf probe: Make --list show only available cached events
> perf probe-cache: Add for_each_probe_cache_entry() wrapper
> perf probe: Allow wildcard for cached events
> perf probe: Search SDT/cached event from all probe caches
> perf list: Show SDT and pre-cached events
> perf probe: Support @BUILDID or @FILE suffix for SDT events
> perf probe: Support a special SDT probe format
> perf build: Add sdt feature detection
> perf test: Add a test case for SDT event
>
> Wang Nan (5):
> tools lib bpf: New API to adjust type of a BPF program
> tools lib bpf: Report error when kernel doesn't support program type
> perf event parser: Add const qualifier to evt_name and sys_name
> perf bpf: Rename bpf__foreach_tev() to bpf__foreach_event()
> perf bpf: Support BPF program attach to tracepoints
>
> tools/build/Makefile.feature | 3 +-
> tools/build/feature/Makefile | 6 +-
> tools/build/feature/test-all.c | 5 +
> tools/build/feature/test-sdt.c | 7 +
> tools/include/asm-generic/bitsperlong.h | 24 ++-
> tools/lib/bpf/libbpf.c | 80 +++++++--
> tools/lib/bpf/libbpf.h | 10 ++
> tools/objtool/Makefile | 5 +-
> tools/objtool/elf.c | 7 +
> tools/perf/Documentation/perf-probe.txt | 11 +-
> tools/perf/Makefile.perf | 3 +
> tools/perf/builtin-list.c | 6 +-
> tools/perf/builtin-probe.c | 2 +-
> tools/perf/config/Makefile | 10 ++
> tools/perf/tests/Build | 1 +
> tools/perf/tests/builtin-test.c | 4 +
> tools/perf/tests/make | 3 +-
> tools/perf/tests/sdt.c | 115 ++++++++++++
> tools/perf/tests/tests.h | 1 +
> tools/perf/util/bpf-loader.c | 73 +++++++-
> tools/perf/util/bpf-loader.h | 12 +-
> tools/perf/util/build-id.c | 76 +++++++-
> tools/perf/util/build-id.h | 3 +-
> tools/perf/util/parse-events.c | 110 ++++++++++--
> tools/perf/util/parse-events.h | 4 +-
> tools/perf/util/probe-event.c | 309 +++++++++++++++++++++++++++-----
> tools/perf/util/probe-event.h | 1 +
> tools/perf/util/probe-file.c | 57 ++++--
> tools/perf/util/probe-file.h | 14 ++
> 29 files changed, 850 insertions(+), 112 deletions(-)
> create mode 100644 tools/build/feature/test-sdt.c
> create mode 100644 tools/perf/tests/sdt.c

Pulled, thanks a lot Arnaldo!

Ingo