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

From: Arnaldo Carvalho de Melo
Date: Wed Feb 24 2016 - 21:03:51 EST


Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit c2b8d8c55c0235e21c563283f634bcfd2ba7bc1e:

Merge tag 'perf-core-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-02-24 08:20:30 +0100)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160224

for you to fetch changes up to c92fcfde3486fb4b9e476ee5ad5995a62e401cce:

perf top: Add --hierarchy option (2016-02-24 20:21:15 -0300)

----------------------------------------------------------------
perf/core improvements:

User visible:

- Hierarchy histogram mode for 'perf top' and 'perf report', showing multiple
levels, one per --sort entry: (Namhyung Kim)

On a mostly idle system:

# perf top --hierarchy -s comm,dso

Then expand some levels and use 'P' to take a snapshot:

# cat perf.hist.0
- 92.32% perf
58.20% perf
22.29% libc-2.22.so
5.97% [kernel]
4.18% libelf-0.165.so
1.69% [unknown]
- 4.71% qemu-system-x86
3.10% [kernel]
1.60% qemu-system-x86_64 (deleted)
+ 2.97% swapper
#

- Check availability of memory events in 'perf mem': (Jiri Olsa)

On a Intel Broadwell machine:

# perf mem record -e list
ldlat-loads : available
ldlat-stores: available
#

- Decode data_src values (e.g. perf.data files generated by 'perf mem record')
in 'perf script': (Jiri Olsa)

# perf script
perf 693 [1] 4.088652: 1 cpu/mem-loads,ldlat=30/P: ffff88007d0b0f40 68100142 L1 hit|SNP None|TLB L1 or L2 hit|LCK No <SNIP>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Print bpf-output events in 'perf script': (Wang Nan).

# perf record -e bpf-output/no-inherit,name=evt/ -e ./test_bpf_output_3.c/map:channel.event=evt/ usleep 1000
# perf script
usleep 4882 21384.532523: evt: ffffffff810e97d1 sys_nanosleep ([kernel.kallsyms])
BPF output: 0000: 52 61 69 73 65 20 61 20 Raise a
0008: 42 50 46 20 65 76 65 6e BPF even
0010: 74 21 00 00 t!..
BPF string: "Raise a BPF event!"
#

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

----------------------------------------------------------------
Jiri Olsa (11):
perf mem record: Check for memory events support
perf mem: Introduce perf_mem_events__name function
perf tools: Introduce perf_mem__tlb_scnprintf function
perf tools: Introduce perf_mem__lvl_scnprintf function
perf tools: Introduce perf_mem__snp_scnprintf function
perf tools: Introduce perf_mem__lck_scnprintf function
perf tools: Change perf_mem__tlb_scnprintf to return nb of displayed bytes
perf tools: Change perf_mem__lvl_scnprintf to return nb of displayed bytes
perf tools: Change perf_mem__snp_scnprintf to return nb of displayed bytes
perf tools: Change perf_mem__lck_scnprintf to return nb of displayed bytes
perf script: Display data_src values

Namhyung Kim (18):
perf tools: Add helper functions for some sort keys
perf hists: Basic support of hierarchical report view
perf hists: Resort hist entries with hierarchy
perf hists: Add helper functions for hierarchy mode
perf hists: Introduce hist_entry__filter()
perf hists: Support filtering in hierarchy mode
perf hists: Resort after filtering hierarchy
perf hists: Count number of sort keys
perf ui/stdio: Implement hierarchy output mode
perf ui/stdio: Align column header for hierarchy output
perf hists browser: Count number of hierarchy entries
perf hists browser: Support collapsing/expanding whole entries in hierarchy
perf hists browser: Implement hierarchy output
perf hists browser: Align column header in hierarchy mode
perf ui/gtk: Implement hierarchy output mode
perf report: Add --hierarchy option
perf hists: Support decaying in hierarchy mode
perf top: Add --hierarchy option

Wang Nan (2):
perf tools: Make binary data printer code in trace_event public available
perf script: Print bpf-output events in 'perf script'

tools/perf/Documentation/perf-report.txt | 3 +
tools/perf/Documentation/perf-top.txt | 3 +
tools/perf/Documentation/tips.txt | 1 +
tools/perf/builtin-mem.c | 22 +-
tools/perf/builtin-report.c | 17 ++
tools/perf/builtin-script.c | 113 ++++++-
tools/perf/builtin-top.c | 15 +
tools/perf/ui/browsers/hists.c | 504 ++++++++++++++++++++++++++++---
tools/perf/ui/gtk/hists.c | 163 +++++++++-
tools/perf/ui/hist.c | 3 +
tools/perf/ui/stdio/hist.c | 184 ++++++++++-
tools/perf/util/ctype.c | 9 +
tools/perf/util/debug.c | 75 +++--
tools/perf/util/hist.c | 461 ++++++++++++++++++++++++++--
tools/perf/util/hist.h | 24 ++
tools/perf/util/mem-events.c | 210 ++++++++++++-
tools/perf/util/mem-events.h | 13 +
tools/perf/util/sort.c | 285 +++++++++--------
tools/perf/util/sort.h | 14 +-
tools/perf/util/symbol.h | 3 +-
tools/perf/util/util.c | 37 +++
tools/perf/util/util.h | 22 ++
22 files changed, 1940 insertions(+), 241 deletions(-)