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

From: Ingo Molnar
Date: Wed Jul 13 2016 - 02:59:52 EST



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

> Hi Ingo,
>
> Please consider pulling, several more patches in my queue pending
> review, this branch now builds in all of these systems, with Alpine Linux, that
> uses different versions of libelf, libc helping in keeping this codebase
> portable, soon I'll add containers for the Android SDK and Yocto:
>
> # 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':
>
> 1734.724897 task-clock (msec) # 0.003 CPUs utilized
> 70,156 context-switches # 0.040 M/sec
> 7,182 cpu-migrations # 0.004 M/sec
> 51,490 page-faults # 0.030 M/sec
> 5,093,434,618 cycles # 2.936 GHz
> 4,839,787,241 instructions # 0.95 insn per cycle
> 898,488,442 branches # 517.943 M/sec
> 16,155,791 branch-misses # 1.80% of all branches
>
> 684.926493347 seconds time elapsed
> #
>
> - Arnaldo
>
> The following changes since commit 44530d588e142a96cf0cd345a7cb8911c4f88720:
>
> Revert "perf/x86/intel, watchdog: Switch NMI watchdog to ref cycles on x86" (2016-07-10 20:58:36 +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-20160712
>
> for you to fetch changes up to 6d248fbda59c51ef5f2e90e11551d9e17aeb226f:
>
> tools lib traceevent: Add filter on task CPU id (2016-07-12 16:27:39 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - Add demangling of symbols in programs written in the Rust language (David Tolnay)
>
> - Add support for tracepoints in the python binding, including an example, that
> sets up and parses sched:sched_switch events, tools/perf/python/tracepoint.py
> (Jiri Olsa)
>
> - Introduce --stdio-color to setup the color output mode selection in
> 'annotate' and 'report', allowing emit color escape sequences when
> redirecting the output of these tools (Arnaldo Carvalho de Melo)
>
> Infrastructure:
>
> - Various tweaks to allow the 'perf trace' beautifiers to build without using
> kernel headers and in a wider range of Linux distributions/releases (Arnaldo Carvalho de Melo)
>
> - Stop using kernel source files, instead copy what is needed and
> check when the original kernel source file gets modified, warning
> the developers about it. This helps in building the tool in older
> systems and even in recent ones, for just added kernel features
> for which ABI details (struct changes, defines, etc) still are not
> available on system headers (Arnaldo Carvalho de Melo)
>
> - Be consistent in how to use strerror_r, adding a wrapper that makes sure that
> it returns a pointer to passed buffer, and using the XSI variant, that is
> available in more libc implementations (Arnaldo Carvalho de Melo)
>
> - Avoid checking code drift on busibox's diff perf intel-pt-decoder, as it
> doesn't have the '-I' command line switch to check for regexps (Arnaldo Carvalho de Melo)
>
> - Add missing headers in various places (Arnaldo Carvalho de Melo)
>
> - Remove unneeded headers from various other places (Arnaldo Carvalho de Melo)
>
> - Add feature detection for gelf_getnote(), disabling SDT support if not
> present (Arnaldo Carvalho de Melo)
>
> - Fix oddities with gcc 5.3.0 by initializing some variables (Arnaldo Carvalho de Melo)
>
> - With those changes in place perf now builds on Alpine Linux 3.4, in addition to
> on centos (5, 6, 7), debian (7, 8, experimental), fedora (21, 22, 23, 24, rawhide),
> mageia 5, opensuse (13.2, 42.1) and ubuntu (12.04.5, 14.04.4, 15.10, 16.04) and
> will be test build on those systems prior to future pull requests.

That's really impressive build coverage!

Pulled, thanks a lot Arnaldo!

Ingo