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

From: Arnaldo Carvalho de Melo
Date: Mon May 16 2016 - 22:47:12 EST


From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit 3f56e687a138481894a1088d5aa7d41951bdb020:

perf/core: Disable the event on a truncated AUX record (2016-05-12 10:14:55 +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-20160516

for you to fetch changes up to a29d5c9b8167dbc21a7ca8c0302e3799f9063b4e:

perf tools: Separate accounting of contexts and real addresses in a stack trace (2016-05-16 23:11:54 -0300)

----------------------------------------------------------------
perf/core improvements and fixes:

User visible:

- Honour the kernel.perf_event_max_stack knob more precisely by not counting
PERF_CONTEXT_{KERNEL,USER} when deciding when to stop adding entries to
the perf_sample->ip_callchain[] array (Arnaldo Carvalho de Melo)

- Fix identation of 'stalled-backend-cycles' in 'perf stat' (Namhyung Kim)

- Update runtime using 'cpu-clock' event in 'perf stat' (Namhyung Kim)

- Use 'cpu-clock' for cpu targets in 'perf stat' (Namhyung Kim)

- Avoid fractional digits for integer scales in 'perf stat' (Andi Kleen)

- Store vdso buildid unconditionally, as it appears in callchains and
we're not checking those when creating the build-id table, so we
end up not being able to resolve VDSO symbols when doing analysis
on a different machine than the one where recording was done, possibly
of a different arch even (arm -> x86_64) (He Kuang)

Infrastructure:

- Generalize max_stack sysctl handler, will be used for configuring
multiple kernel knobs related to callchains (Arnaldo Carvalho de Melo)

Cleanups:

- Introduce DSO__NAME_KALLSYMS and DSO__NAME_KCORE, to stop using
open coded strings (Masami Hiramatsu)

Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

----------------------------------------------------------------
Andi Kleen (1):
perf stat: Avoid fractional digits for integer scales

Arnaldo Carvalho de Melo (6):
perf core: Generalize max_stack sysctl handler
perf core: Pass max stack as a perf_callchain_entry context
perf core: Add a 'nr' field to perf_event_callchain_context
perf core: Add perf_callchain_store_context() helper
perf core: Separate accounting of contexts and real addresses in a stack trace
perf tools: Separate accounting of contexts and real addresses in a stack trace

He Kuang (1):
perf symbols: Store vdso buildid unconditionally

Masami Hiramatsu (1):
perf symbols: Introduce DSO__NAME_KALLSYMS and DSO__NAME_KCORE

Namhyung Kim (3):
perf stat: Fix indentation of stalled backend cycle
perf stat: Update runtime using cpu-clock event
perf stat: Use cpu-clock event for cpu targets

Documentation/sysctl/kernel.txt | 14 ++++++++++++++
arch/arc/kernel/perf_event.c | 6 +++---
arch/arm/kernel/perf_callchain.c | 10 +++++-----
arch/arm64/kernel/perf_callchain.c | 14 +++++++-------
arch/metag/kernel/perf_callchain.c | 10 +++++-----
arch/mips/kernel/perf_event.c | 12 ++++++------
arch/powerpc/perf/callchain.c | 20 ++++++++++----------
arch/s390/kernel/perf_event.c | 4 ++--
arch/sh/kernel/perf_callchain.c | 4 ++--
arch/sparc/kernel/perf_event.c | 14 +++++++-------
arch/tile/kernel/perf_event.c | 6 +++---
arch/x86/events/core.c | 14 +++++++-------
arch/xtensa/kernel/perf_event.c | 10 +++++-----
include/linux/perf_event.h | 34 +++++++++++++++++++++++++++++-----
include/uapi/linux/perf_event.h | 1 +
kernel/bpf/stackmap.c | 3 ++-
kernel/events/callchain.c | 36 ++++++++++++++++++++++++------------
kernel/sysctl.c | 11 ++++++++++-
tools/perf/builtin-buildid-cache.c | 8 ++++----
tools/perf/builtin-stat.c | 22 +++++++++++++---------
tools/perf/perf.c | 3 +++
tools/perf/util/annotate.c | 2 +-
tools/perf/util/build-id.c | 2 +-
tools/perf/util/dso.c | 3 ++-
tools/perf/util/machine.c | 28 ++++++++++++++++++----------
tools/perf/util/stat-shadow.c | 8 +++++---
tools/perf/util/symbol.c | 10 +++++-----
tools/perf/util/symbol.h | 3 +++
tools/perf/util/util.c | 3 ++-
tools/perf/util/util.h | 3 ++-
30 files changed, 201 insertions(+), 117 deletions(-)