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

From: Arnaldo Carvalho de Melo
Date: Wed Apr 13 2016 - 10:44:17 EST


Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit 31d50c551e30923b86a1b5b420920dd1927fa63b:

perf/x86/amd/uncore: Do not register a task ctx for uncore PMUs (2016-04-13 11:56: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-20160413

for you to fetch changes up to 59247e33ff494e3643cdff54b64bf72575052b76:

perf trace: Do not accept --no-syscalls together with -e (2016-04-13 10:11:52 -0300)

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

User visible:

- Print callchains asked for events requested via 'perf trace --event' too:
(Arnaldo Carvalho de Melo)

# trace -e nanosleep --call dwarf --event sched:sched_switch/call-graph=fp/ usleep 1
0.346 (0.005 ms): usleep/24428 nanosleep(rqtp: 0x7fffa15a0540) ...
0.346 ( ): sched:sched_switch:usleep:24428 [120] S ==> swapper/3:0 [120])
__schedule+0xfe200402 ([kernel.kallsyms])
schedule+0xfe200035 ([kernel.kallsyms])
do_nanosleep+0xfe20006f ([kernel.kallsyms])
hrtimer_nanosleep+0xfe2000dc ([kernel.kallsyms])
sys_nanosleep+0xfe20007a ([kernel.kallsyms])
do_syscall_64+0xfe200062 ([kernel.kallsyms])
return_from_SYSCALL_64+0xfe200000 ([kernel.kallsyms])
__nanosleep+0xffff005b8d602010 (/usr/lib64/libc-2.22.so)
0.400 (0.059 ms): usleep/24428 ... [continued]: nanosleep()) = 0
__nanosleep+0x10 (/usr/lib64/libc-2.22.so)
usleep+0x34 (/usr/lib64/libc-2.22.so)
main+0x1eb (/usr/bin/usleep)
__libc_start_main+0xf0 (/usr/lib64/libc-2.22.so)
_start+0x29 (/usr/bin/usleep)

- Allow requesting that some CPUs or PIDs be highlighted in 'perf sched map' (Jiri Olsa)

- Compact 'perf sched map' to show just CPUs with activity, improving the output
in high core count systems (Jiri Olsa)

- Fix segfault with 'perf trace --no-syscalls -e syscall-names' by bailing out
such request, doesn't make sense to ask for no syscalls and then specify which
ones should be printed (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
perf trace: Support callchains for --event too
perf evsel: Move some methods from session.[ch] to evsel.[ch]
perf trace: Do not accept --no-syscalls together with -e

Jiri Olsa (8):
perf thread_map: Add has() method
perf cpu_map: Add has() method
perf sched: Add compact display option
perf sched: Use color_fprintf for output
perf thread_map: Make new_by_tid_str constructor public
perf sched map: Color given pids
perf sched map: Color given cpus
perf sched map: Display only given cpus

tools/perf/Documentation/perf-sched.txt | 16 +++
tools/perf/builtin-sched.c | 198 ++++++++++++++++++++++++++++++--
tools/perf/builtin-script.c | 14 +--
tools/perf/builtin-trace.c | 48 +++++---
tools/perf/util/cpumap.c | 12 ++
tools/perf/util/cpumap.h | 2 +
tools/perf/util/evsel.c | 131 +++++++++++++++++++++
tools/perf/util/evsel.h | 13 +++
tools/perf/util/session.c | 130 ---------------------
tools/perf/util/session.h | 13 ---
tools/perf/util/thread_map.c | 14 ++-
tools/perf/util/thread_map.h | 3 +
12 files changed, 416 insertions(+), 178 deletions(-)