perf tools: Add support for "report" for some spe events
hulk inclusion category: feature bugzilla: 18657 CVE: NA ------------------------------------------- After the commit ffd3d18c (perf tools: Add ARM Statistical Profiling Extensions (SPE) support) is merged, "perf record" and "perf report --dump-raw-trace" have been supported. However, the raw data that is dumped cannot be used without parsing. This patch is to improve the "perf report" support for spe, and further process the data. Currently, support for the three events of llc-miss, tlb-miss, branch-miss and remote-access is added. Example usage: $ ./perf record -c 1024 -e arm_spe_0/branch_filter=1,ts_enable=1,pct_enable=1,pa_enable=1,load_filter=1,jitter=1,store_filter=1,min_latency=0/ -o perf-armspe-dd.data dd if=/dev/zero of=/dev/null count=10000 $ ./perf report -i perf-armspe-dd.data --stdio -------------------------------------------------------------------- ... # Samples: 23 of event 'llc-miss' # Event count (approx.): 23 ... 33.33% 33.33% dd [kernel.kallsyms] [k] perf_iterate_ctx.constprop.64 12.12% 12.12% dd [kernel.kallsyms] [k] perf_event_mmap 6.06% 6.06% dd [kernel.kallsyms] [k] copy_page 6.06% 6.06% dd ld-2.28.so [.] _dl_relocate_object 3.03% 3.03% dd [kernel.kallsyms] [k] change_protection_range 3.03% 3.03% dd [kernel.kallsyms] [k] filemap_map_pages 3.03% 3.03% dd [kernel.kallsyms] [k] free_pages_and_swap_cache 3.03% 3.03% dd [kernel.kallsyms] [k] generic_permission 3.03% 3.03% dd [kernel.kallsyms] [k] kmem_cache_alloc 3.03% 3.03% dd [kernel.kallsyms] [k] lookup_fast 3.03% 3.03% dd [kernel.kallsyms] [k] perf_event_exec 3.03% 3.03% dd [kernel.kallsyms] [k] radix_tree_next_chunk 3.03% 3.03% dd [kernel.kallsyms] [k] ring_buffer_record_is_on 3.03% 3.03% dd ld-2.28.so [.] _dl_lookup_symbol_x 3.03% 3.03% dd ld-2.28.so [.] _dl_start 3.03% 3.03% dd ld-2.28.so [.] dl_main 3.03% 3.03% dd ld-2.28.so [.] strcmp 3.03% 3.03% dd libc-2.28.so [.] _dl_addr ... # Samples: 3 of event 'tlb-miss' # Event count (approx.): 3 ... 33.33% 33.33% dd [kernel.kallsyms] [k] filemap_map_pages 33.33% 33.33% dd ld-2.28.so [.] _dl_start 33.33% 33.33% dd ld-2.28.so [.] dl_main ... # Samples: 20 of event 'branch-miss' # Event count (approx.): 20 ... 15.38% 15.38% dd [kernel.kallsyms] [k] __fput 7.69% 7.69% dd [kernel.kallsyms] [k] do_el0_ia_bp_hardening 7.69% 7.69% dd [kernel.kallsyms] [k] filemap_map_pages 7.69% 7.69% dd [kernel.kallsyms] [k] pagevec_lru_move_fn 7.69% 7.69% dd [kernel.kallsyms] [k] perf_event_mmap_output 7.69% 7.69% dd [kernel.kallsyms] [k] task_work_run 7.69% 7.69% dd [kernel.kallsyms] [k] unmap_single_vma 7.69% 7.69% dd libc-2.28.so [.] _IO_flush_all_lockp 7.69% 7.69% dd libc-2.28.so [.] __memcpy_generic 7.69% 7.69% dd libc-2.28.so [.] _dl_addr 7.69% 7.69% dd libc-2.28.so [.] msort_with_tmp.part.0 7.69% 7.69% dd libc-2.28.so [.] read_alias_file ... # Samples: 5 of event 'remote-access' # Event count (approx.): 5 ... 27.78% 27.78% dd [kernel.kallsyms] [k] perf_iterate_ctx.constprop.64 16.67% 16.67% dd [kernel.kallsyms] [k] perf_event_mmap 5.56% 5.56% dd [kernel.kallsyms] [k] change_protection_range 5.56% 5.56% dd [kernel.kallsyms] [k] filemap_map_pages 5.56% 5.56% dd [kernel.kallsyms] [k] free_pages_and_swap_cache 5.56% 5.56% dd [kernel.kallsyms] [k] generic_permission 5.56% 5.56% dd [kernel.kallsyms] [k] lookup_fast 5.56% 5.56% dd [kernel.kallsyms] [k] perf_event_exec 5.56% 5.56% dd [kernel.kallsyms] [k] radix_tree_next_chunk 5.56% 5.56% dd ld-2.28.so [.] _dl_relocate_object 5.56% 5.56% dd ld-2.28.so [.] _dl_start 5.56% 5.56% dd ld-2.28.so [.] dl_main -------------------------------------------------------------------- After that, more analysis and processing of the raw data of spe will be done. Signed-off-by: NTan Xiaojun <tanxiaojun@huawei.com> Signed-off-by: NWei Li <liwei391@huawei.com> Reviewed-by: NXuefeng Wang <wxf.wang@hisilicon.com> Reviewed-by: NTan Xiaojun <tanxiaojun@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Showing
想要评论请 注册 或 登录