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

From: Arnaldo Carvalho de Melo
Date: Wed May 25 2016 - 17:35:20 EST


Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit 275ae411e56f8f900fa364da29c4706f9af4e1f3:

perf/x86/intel/rapl: Fix pmus free during cleanup (2016-05-25 10:56: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-20160525

for you to fetch changes up to 83e1e314baf9a1424bf2f50953ed7d50612763c4:

tools: Pass arg to fdarray__filter's call back function (2016-05-25 17:27:25 -0300)

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

User visible/kernel ABI:

- Per event callchain limit: Recently we introduced a sysctl to tune the
max-stack for all events for which callchains were requested:

$ sysctl kernel.perf_event_max_stack
kernel.perf_event_max_stack = 127

Now this patch introduces a way to configure this per event, i.e. this
becomes possible:

$ perf record -e sched:*/max-stack=2/ -e block:*/max-stack=10/ -a

allowing finer tuning of how much buffer space callchains use.

This uses an u16 from the reserved space at the end, leaving another
u16 for future use.

There has been interest in even finer tuning, namely to control the
max stack for kernel and userspace callchains separately. Further
discussion is needed, we may for instance use the remaining u16 for
that and when it is present, assume that the sample_max_stack introduced
in this patch applies for the kernel, and the u16 left is used for
limiting the userspace callchain. (Arnaldo Carvalho de Melo)

- Fix kptr_restrict=2 related 'perf record' segfault (Wang Nan)

Infrastructure;

- Adopt get_main_thread from db-export.c (Andi Kleen)

- More prep work for backward ring buffer support (Wang Nan)

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

----------------------------------------------------------------
Andi Kleen (1):
perf thread: Adopt get_main_thread from db-export.c

Arnaldo Carvalho de Melo (2):
perf core: Per event callchain limit
perf tools: Per event max-stack settings

Wang Nan (7):
perf symbols: Check kptr_restrict for root
perf record: Fix crash when kptr is restricted
perf record: Robustify perf_event__synth_time_conv()
perf evlist: Don't poll and mmap overwritable events
perf evlist: Check 'base' pointer before checking refcnt when put a mmap
perf evlist: Choose correct reading direction according to evlist->backward
tools: Pass arg to fdarray__filter's call back function

include/linux/perf_event.h | 2 +-
include/uapi/linux/perf_event.h | 6 +++++-
kernel/bpf/stackmap.c | 2 +-
kernel/events/callchain.c | 14 ++++++++++++--
kernel/events/core.c | 5 ++++-
tools/lib/api/fd/array.c | 5 +++--
tools/lib/api/fd/array.h | 3 ++-
tools/perf/arch/x86/util/tsc.c | 2 ++
tools/perf/builtin-record.c | 9 ++++++++-
tools/perf/tests/fdarray.c | 8 ++++----
tools/perf/util/callchain.h | 1 +
tools/perf/util/db-export.c | 13 +------------
tools/perf/util/event.c | 2 ++
tools/perf/util/evlist.c | 43 ++++++++++++++++++++++++++++++++---------
tools/perf/util/evlist.h | 2 ++
tools/perf/util/evsel.c | 16 +++++++++++++--
tools/perf/util/evsel.h | 2 ++
tools/perf/util/parse-events.c | 8 ++++++++
tools/perf/util/parse-events.h | 1 +
tools/perf/util/parse-events.l | 1 +
tools/perf/util/session.c | 2 ++
tools/perf/util/symbol.c | 16 +++++++--------
tools/perf/util/thread.c | 11 +++++++++++
tools/perf/util/thread.h | 2 ++
24 files changed, 131 insertions(+), 45 deletions(-)