summaryrefslogtreecommitdiffstats
tag nameperf-tools-fixes-for-v6.4-1-2023-05-20 (e58cc6d8a75dd9fd78063561d372f1debbd40b63)
tag date2023-05-20 15:43:06 -0300
tagged byArnaldo Carvalho de Melo <acme@redhat.com>
tagged objectcommit 4e111f0cf0...
downloadlinux-perf-tools-fixes-for-v6.4-1-2023-05-20.tar.gz
perf tools fixes for v6.4:
- Fail graciously if BUILD_BPF_SKEL=1 is specified and clang isn't available. - Add empty 'struct rq' to 'perf lock contention' to satisfy libbpf 'runqueue' type verification. This feature is built only with BUILD_BPF_SKEL=1. - Make vmlinux.h use bpf.h and perf_event.h in source directory, not system ones that may be old and not have things like 'union perf_sample_weight'. - Add system include paths to BPF builds to pick things missing in the headers included by clang -target bpf. - Update various header copies with the kernel sources. - Change divide by zero and not supported events behavior to show 'nan'/'not counted' in 'perf stat' output. This happens when using things like 'perf stat -M TopdownL2 true', involving JSON metrics. - Update no event/metric expectations affected by using JSON metrics in 'perf stat -ddd' perf test. - Avoid segv with 'perf stat --topdown' for metrics without a group. - Do not assume which events may have a PMU name, allowing the logic to keep an AUX event group together. Makes this usecase work again: $ perf record --no-bpf-event -c 10 -e '{intel_pt//,tlb_flush.stlb_any/aux-sample-size=8192/pp}:u' -- sleep 0.1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.078 MB perf.data ] $ perf script -F-dso,+addr | grep -C5 tlb_flush.stlb_any | head -11 sleep 20444 [003] 7939.510243: 1 branches:uH: 7f5350cc82a2 dl_main+0x9a2 => 7f5350cb38f0 _dl_add_to_namespace_list+0x0 sleep 20444 [003] 7939.510243: 1 branches:uH: 7f5350cb3908 _dl_add_to_namespace_list+0x18 => 7f5350cbb080 rtld_mutex_dummy+0x0 sleep 20444 [003] 7939.510243: 1 branches:uH: 7f5350cc8350 dl_main+0xa50 => 0 [unknown] sleep 20444 [003] 7939.510244: 1 branches:uH: 7f5350cc83ca dl_main+0xaca => 7f5350caeb60 _dl_process_pt_gnu_property+0x0 sleep 20444 [003] 7939.510245: 1 branches:uH: 7f5350caeb60 _dl_process_pt_gnu_property+0x0 => 0 [unknown] sleep 20444 7939.510245: 10 tlb_flush.stlb_any/aux-sample-size=8192/pp: 0 7f5350caeb60 _dl_process_pt_gnu_property+0x0 sleep 20444 [003] 7939.510254: 1 branches:uH: 7f5350cc87fe dl_main+0xefe => 7f5350ccd240 strcmp+0x0 sleep 20444 [003] 7939.510254: 1 branches:uH: 7f5350cc8862 dl_main+0xf62 => 0 [unknown] - Add a check for the above use case in 'perf test test_intel_pt'. - Fix build with refcount checking on arm64, it was still accessing fields that need to be wrapped so that the refcounted struct gets checked. - Fix contextid validation in ARM's CS-ETM, so that older kernels without that field can still be supported. - Skip unsupported aggregation for stat events found in perf.data files in 'perf script'. - Add stat test for record and script to check the previous problem. - Remove needless debuginfod queries from 'perf test java symbol', this was just making the test take a long time to complete. - Address python SafeConfigParser() deprecation warning in 'perf test attr'. - Fix __NR_execve undeclared on i386 'perf bench syscall' build error. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCZGkUygAKCRCyPKLppCJ+ J8LGAP9qi9fvOt96aXLKHPn/op5KjmvnhZH3/Dj/XPnD8xRNOgD/cQu2D/h8zy9h NAf0lnJZKiyBGwIrCp1i89snxklnxgA= =Vztu -----END PGP SIGNATURE-----