mirror of https://github.com/torvalds/linux.git
- Introduce 'perf sched stats' tool with record/report/diff workflows
using schedstat counters.
- Add a faster libdw based addr2line implementation and allow selecting
it or its alternatives via 'perf config addr2line.style='.
- Data-type profiling fixes and improvements including the ability
to select fields using 'perf report''s -F/-fields, e.g.:
'perf report --fields overhead,type'
- Add 'perf test' regression tests for Data-type profiling with
C and Rust workloads.
- Fix srcline printing with inlines in callchains, make sure this has
coverage in 'perf test'.
- Fix printing of leaf IP in LBR callchains.
- Fix display of metrics without sufficient permission in 'perf stat'.
- Print all machines in 'perf kvm report -vvv', not just the host.
- Switch from SHA-1 to BLAKE2s for build ID generation, remove SHA-1
code.
- Fix 'perf report's histogram entry collapsing with '-F' option.
- Use system's cacheline size instead of a hardcoded value in 'perf
report'.
- Allow filtering conversion by time range in 'perf data'.
- Cover conversion to CTF using 'perf data' in 'perf test'.
- Address newer glibc const-correctness (-Werror=discarded-qualifiers)
issues.
- Fixes and improvements for ARM's CoreSight support, simplify ARM SPE
event config in 'perf mem', update docs for 'perf c2c' including the
ARM events it can be used with.
- Build support for generating metrics from arch specific python script,
add extra AMD, Intel, ARM64 metrics using it.
- Add AMD Zen 6 events and metrics.
- Add JSON file with OpenHW Risc-V CVA6 hardware counters.
- Add 'perf kvm' stats live testing.
- Add more 'perf stat' tests to 'perf test'.
- Fix segfault in `perf lock contention -b/--use-bpf`
- Fix various 'perf test' cases for s390.
- Build system cleanups, bump minimum shellcheck version to 0.7.2
- Support building the capstone based annotation routines as a plugin.
- Allow passing extra Clang flags via EXTRA_BPF_FLAGS.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCaZn25QAKCRCyPKLppCJ+
J9MbAQCTKChBwDsqVh5iPr0UAc+mez9LOPJFa580SYH9nmd1jgD+Oqip7xCf514G
ZtYPNh+Mz0se0Mcb++syLUEjxvbrQQY=
=y2VY
-----END PGP SIGNATURE-----
Merge tag 'perf-tools-for-v7.0-1-2026-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
Pull perf tools updates from Arnaldo Carvalho de Melo:
- Introduce 'perf sched stats' tool with record/report/diff workflows
using schedstat counters
- Add a faster libdw based addr2line implementation and allow selecting
it or its alternatives via 'perf config addr2line.style='
- Data-type profiling fixes and improvements including the ability to
select fields using 'perf report''s -F/-fields, e.g.:
'perf report --fields overhead,type'
- Add 'perf test' regression tests for Data-type profiling with C and
Rust workloads
- Fix srcline printing with inlines in callchains, make sure this has
coverage in 'perf test'
- Fix printing of leaf IP in LBR callchains
- Fix display of metrics without sufficient permission in 'perf stat'
- Print all machines in 'perf kvm report -vvv', not just the host
- Switch from SHA-1 to BLAKE2s for build ID generation, remove SHA-1
code
- Fix 'perf report's histogram entry collapsing with '-F' option
- Use system's cacheline size instead of a hardcoded value in 'perf
report'
- Allow filtering conversion by time range in 'perf data'
- Cover conversion to CTF using 'perf data' in 'perf test'
- Address newer glibc const-correctness (-Werror=discarded-qualifiers)
issues
- Fixes and improvements for ARM's CoreSight support, simplify ARM SPE
event config in 'perf mem', update docs for 'perf c2c' including the
ARM events it can be used with
- Build support for generating metrics from arch specific python
script, add extra AMD, Intel, ARM64 metrics using it
- Add AMD Zen 6 events and metrics
- Add JSON file with OpenHW Risc-V CVA6 hardware counters
- Add 'perf kvm' stats live testing
- Add more 'perf stat' tests to 'perf test'
- Fix segfault in `perf lock contention -b/--use-bpf`
- Fix various 'perf test' cases for s390
- Build system cleanups, bump minimum shellcheck version to 0.7.2
- Support building the capstone based annotation routines as a plugin
- Allow passing extra Clang flags via EXTRA_BPF_FLAGS
* tag 'perf-tools-for-v7.0-1-2026-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (255 commits)
perf test script: Add python script testing support
perf test script: Add perl script testing support
perf script: Allow the generated script to be a path
perf test: perf data --to-ctf testing
perf test: Test pipe mode with data conversion --to-json
perf json: Pipe mode --to-ctf support
perf json: Pipe mode --to-json support
perf check: Add libbabeltrace to the listed features
perf build: Allow passing extra Clang flags via EXTRA_BPF_FLAGS
perf test data_type_profiling.sh: Skip just the Rust tests if code_with_type workload is missing
tools build: Fix feature test for rust compiler
perf libunwind: Fix calls to thread__e_machine()
perf stat: Add no-affinity flag
perf evlist: Reduce affinity use and move into iterator, fix no affinity
perf evlist: Missing TPEBS close in evlist__close()
perf evlist: Special map propagation for tool events that read on 1 CPU
perf stat-shadow: In prepare_metric fix guard on reading NULL perf_stat_evsel
Revert "perf tool_pmu: More accurately set the cpus for tool events"
tools build: Emit dependencies file for test-rust.bin
tools build: Make test-rust.bin be removed by the 'clean' target
...
|
||
|---|---|---|
| .. | ||
| annotate-arch | ||
| arm-spe-decoder | ||
| bpf_skel | ||
| cs-etm-decoder | ||
| dwarf-regs-arch | ||
| hisi-ptt-decoder | ||
| include | ||
| intel-pt-decoder | ||
| kvm-stat-arch | ||
| libunwind | ||
| perf-regs-arch | ||
| scripting-engines | ||
| Build | ||
| PERF-VERSION-GEN | ||
| addr2line.c | ||
| addr2line.h | ||
| addr_location.c | ||
| addr_location.h | ||
| affinity.c | ||
| affinity.h | ||
| amd-sample-raw.c | ||
| annotate-data.c | ||
| annotate-data.h | ||
| annotate.c | ||
| annotate.h | ||
| arm-spe.c | ||
| arm-spe.h | ||
| arm64-frame-pointer-unwind-support.c | ||
| arm64-frame-pointer-unwind-support.h | ||
| auxtrace.c | ||
| auxtrace.h | ||
| blake2s.c | ||
| blake2s.h | ||
| block-info.c | ||
| block-info.h | ||
| block-range.c | ||
| block-range.h | ||
| bpf-event.c | ||
| bpf-event.h | ||
| bpf-filter.c | ||
| bpf-filter.h | ||
| bpf-filter.l | ||
| bpf-filter.y | ||
| bpf-trace-summary.c | ||
| bpf-utils.c | ||
| bpf-utils.h | ||
| bpf_counter.c | ||
| bpf_counter.h | ||
| bpf_counter_cgroup.c | ||
| bpf_ftrace.c | ||
| bpf_kwork.c | ||
| bpf_kwork_top.c | ||
| bpf_lock_contention.c | ||
| bpf_map.c | ||
| bpf_map.h | ||
| bpf_off_cpu.c | ||
| bpf_trace_augment.c | ||
| branch.c | ||
| branch.h | ||
| btf.c | ||
| btf.h | ||
| build-id.c | ||
| build-id.h | ||
| cache.h | ||
| cacheline.c | ||
| cacheline.h | ||
| call-path.c | ||
| call-path.h | ||
| callchain.c | ||
| callchain.h | ||
| cap.c | ||
| cap.h | ||
| capstone.c | ||
| capstone.h | ||
| cgroup.c | ||
| cgroup.h | ||
| clockid.c | ||
| clockid.h | ||
| cloexec.c | ||
| cloexec.h | ||
| color.c | ||
| color.h | ||
| color_config.c | ||
| comm.c | ||
| comm.h | ||
| compress.h | ||
| config.c | ||
| config.h | ||
| copyfile.c | ||
| copyfile.h | ||
| counts.c | ||
| counts.h | ||
| cpu-set-sched.h | ||
| cpumap.c | ||
| cpumap.h | ||
| cputopo.c | ||
| cputopo.h | ||
| cs-etm-base.c | ||
| cs-etm.c | ||
| cs-etm.h | ||
| data-convert-bt.c | ||
| data-convert-json.c | ||
| data-convert.h | ||
| data.c | ||
| data.h | ||
| db-export.c | ||
| db-export.h | ||
| debug.c | ||
| debug.h | ||
| debuginfo.c | ||
| debuginfo.h | ||
| demangle-cxx.cpp | ||
| demangle-cxx.h | ||
| demangle-java.c | ||
| demangle-java.h | ||
| demangle-ocaml.c | ||
| demangle-ocaml.h | ||
| demangle-rust-v0.c | ||
| demangle-rust-v0.h | ||
| disasm.c | ||
| disasm.h | ||
| dlfilter.c | ||
| dlfilter.h | ||
| drm_pmu.c | ||
| drm_pmu.h | ||
| dso.c | ||
| dso.h | ||
| dsos.c | ||
| dsos.h | ||
| dump-insn.c | ||
| dump-insn.h | ||
| dwarf-aux.c | ||
| dwarf-aux.h | ||
| dwarf-regs.c | ||
| env.c | ||
| env.h | ||
| event.c | ||
| event.h | ||
| events_stats.h | ||
| evlist.c | ||
| evlist.h | ||
| evsel.c | ||
| evsel.h | ||
| evsel_config.h | ||
| evsel_fprintf.c | ||
| evsel_fprintf.h | ||
| evswitch.c | ||
| evswitch.h | ||
| expr.c | ||
| expr.h | ||
| expr.l | ||
| expr.y | ||
| find-map.c | ||
| fncache.c | ||
| fncache.h | ||
| ftrace.h | ||
| genelf.c | ||
| genelf.h | ||
| genelf_debug.c | ||
| hashmap.c | ||
| hashmap.h | ||
| header.c | ||
| header.h | ||
| help-unknown-cmd.c | ||
| help-unknown-cmd.h | ||
| hisi-ptt.c | ||
| hisi-ptt.h | ||
| hist.c | ||
| hist.h | ||
| hwmon_pmu.c | ||
| hwmon_pmu.h | ||
| intel-bts.c | ||
| intel-bts.h | ||
| intel-pt.c | ||
| intel-pt.h | ||
| intel-tpebs.c | ||
| intel-tpebs.h | ||
| intlist.c | ||
| intlist.h | ||
| iostat.c | ||
| iostat.h | ||
| jit.h | ||
| jitdump.c | ||
| jitdump.h | ||
| kvm-stat.c | ||
| kvm-stat.h | ||
| kwork.h | ||
| levenshtein.c | ||
| levenshtein.h | ||
| libbfd.c | ||
| libbfd.h | ||
| libdw.c | ||
| libdw.h | ||
| llvm-c-helpers.cpp | ||
| llvm-c-helpers.h | ||
| llvm.c | ||
| llvm.h | ||
| lock-contention.c | ||
| lock-contention.h | ||
| lzma.c | ||
| machine.c | ||
| machine.h | ||
| map.c | ||
| map.h | ||
| map_symbol.c | ||
| map_symbol.h | ||
| maps.c | ||
| maps.h | ||
| mem-events.c | ||
| mem-events.h | ||
| mem-info.c | ||
| mem-info.h | ||
| mem2node.c | ||
| mem2node.h | ||
| memswap.c | ||
| memswap.h | ||
| metricgroup.c | ||
| metricgroup.h | ||
| mmap.c | ||
| mmap.h | ||
| mutex.c | ||
| mutex.h | ||
| namespaces.c | ||
| namespaces.h | ||
| off_cpu.h | ||
| ordered-events.c | ||
| ordered-events.h | ||
| parse-branch-options.c | ||
| parse-branch-options.h | ||
| parse-events.c | ||
| parse-events.h | ||
| parse-events.l | ||
| parse-events.y | ||
| parse-regs-options.c | ||
| parse-regs-options.h | ||
| parse-sublevel-options.c | ||
| parse-sublevel-options.h | ||
| path.c | ||
| path.h | ||
| perf-hooks-list.h | ||
| perf-hooks.c | ||
| perf-hooks.h | ||
| perf_api_probe.c | ||
| perf_api_probe.h | ||
| perf_event_attr_fprintf.c | ||
| perf_regs.c | ||
| perf_regs.h | ||
| pfm.c | ||
| pfm.h | ||
| pmu.c | ||
| pmu.h | ||
| pmu.l | ||
| pmu.y | ||
| pmus.c | ||
| pmus.h | ||
| powerpc-vpadtl.c | ||
| powerpc-vpadtl.h | ||
| print-events.c | ||
| print-events.h | ||
| print_binary.c | ||
| print_binary.h | ||
| print_insn.c | ||
| print_insn.h | ||
| probe-event.c | ||
| probe-event.h | ||
| probe-file.c | ||
| probe-file.h | ||
| probe-finder.c | ||
| probe-finder.h | ||
| pstack.c | ||
| pstack.h | ||
| python.c | ||
| rblist.c | ||
| rblist.h | ||
| record.c | ||
| record.h | ||
| rlimit.c | ||
| rlimit.h | ||
| rwsem.c | ||
| rwsem.h | ||
| s390-cpumcf-kernel.h | ||
| s390-cpumsf-kernel.h | ||
| s390-cpumsf.c | ||
| s390-cpumsf.h | ||
| s390-sample-raw.c | ||
| sample-raw.c | ||
| sample-raw.h | ||
| sample.c | ||
| sample.h | ||
| session.c | ||
| session.h | ||
| setns.c | ||
| setup.py | ||
| sharded_mutex.c | ||
| sharded_mutex.h | ||
| sideband_evlist.c | ||
| smt.c | ||
| smt.h | ||
| sort.c | ||
| sort.h | ||
| spark.c | ||
| spark.h | ||
| srccode.c | ||
| srccode.h | ||
| srcline.c | ||
| srcline.h | ||
| stat-display.c | ||
| stat-shadow.c | ||
| stat.c | ||
| stat.h | ||
| strbuf.c | ||
| strbuf.h | ||
| stream.c | ||
| stream.h | ||
| strfilter.c | ||
| strfilter.h | ||
| string.c | ||
| string2.h | ||
| strlist.c | ||
| strlist.h | ||
| svghelper.c | ||
| svghelper.h | ||
| symbol-elf.c | ||
| symbol-minimal.c | ||
| symbol.c | ||
| symbol.h | ||
| symbol_conf.h | ||
| symbol_fprintf.c | ||
| symsrc.h | ||
| synthetic-events.c | ||
| synthetic-events.h | ||
| syscalltbl.c | ||
| syscalltbl.h | ||
| target.c | ||
| target.h | ||
| term.c | ||
| term.h | ||
| thread-stack.c | ||
| thread-stack.h | ||
| thread.c | ||
| thread.h | ||
| thread_map.c | ||
| thread_map.h | ||
| threads.c | ||
| threads.h | ||
| time-utils.c | ||
| time-utils.h | ||
| tool.c | ||
| tool.h | ||
| tool_pmu.c | ||
| tool_pmu.h | ||
| top.c | ||
| top.h | ||
| topdown.c | ||
| topdown.h | ||
| tp_pmu.c | ||
| tp_pmu.h | ||
| trace-event-info.c | ||
| trace-event-parse.c | ||
| trace-event-read.c | ||
| trace-event-scripting.c | ||
| trace-event.c | ||
| trace-event.h | ||
| trace.h | ||
| trace_augment.h | ||
| tracepoint.c | ||
| tracepoint.h | ||
| trigger.h | ||
| tsc.c | ||
| tsc.h | ||
| units.c | ||
| units.h | ||
| unwind-libdw.c | ||
| unwind-libdw.h | ||
| unwind-libunwind-local.c | ||
| unwind-libunwind.c | ||
| unwind.h | ||
| usage.c | ||
| util.c | ||
| util.h | ||
| values.c | ||
| values.h | ||
| vdso.c | ||
| vdso.h | ||
| zlib.c | ||
| zstd.c | ||