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

From: Ingo Molnar
Date: Thu Feb 25 2016 - 02:23:08 EST



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

> 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(-)

Pulled, thanks a lot Arnaldo!

Ingo