* [PATCHES 000/343] perf tools improvements and fixes for v7.2
@ 2026-06-22 19:21 Arnaldo Carvalho de Melo
0 siblings, 0 replies; only message in thread
From: Arnaldo Carvalho de Melo @ 2026-06-22 19:21 UTC (permalink / raw)
To: Linus Torvalds
Cc: Ingo Molnar, Thomas Gleixner, Jiri Olsa, Namhyung Kim, Ian Rogers,
Adrian Hunter, James Clark, Clark Williams, linux-kernel,
linux-perf-users, Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Hi Linus,
Please consider pulling,
- Arnaldo
The following changes since commit e8c2f9fdadee7cbc75134dc463c1e0d856d6e5c7:
Merge tag 'for-7.1/hpfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm (2026-05-25 12:49:27 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git tags/perf-tools-for-v7.2-1-2026-06-22
for you to fetch changes up to 3287a1881ca528b89b964d9fa6d28880d277d9e2:
perf bpf: Fix up build failure due to change of btf_vlen() return type (2026-06-22 15:53:34 -0300)
----------------------------------------------------------------
perf tools changes for v7.2:
- Introduce 'perf inject --aslr' to remap ASLR-randomized
addresses in perf.data files, enabling reproducible analysis
across runs with different address space layouts.
- Refactor evsel out of sample processing paths: store evsel in
struct perf_sample and remove the redundant evsel parameter from
tool APIs, tracepoint handlers, hist entry iterators, and
db-export, simplifying the entire tool callback chain.
- Switch architecture detection from string-based perf_env__arch()
comparisons to the numeric ELF e_machine field across the
codebase (capstone, print_insn, c2c, lock-contention, sort,
sample-raw, machine, header), making cross-analysis more robust.
- Overhaul ARM CoreSight ETM tests: add deterministic and
named_threads workloads, speed up basic and disassembly tests,
add process attribution and concurrent threads tests, remove
unused workloads and duplicate tests, queue context packets for
the frontend decoder.
- Add ARM SPE IMPDEF event decoding for Arm Neoverse N1, store
MIDR in arm_spe_pkt for per-CPU event mapping, handle missing
CPU IDs gracefully.
- Refactor libunwind support: remove the libunwind-local backend,
make register reading cross-platform, add RISC-V libunwind
support, allow dynamic selection between libdw and libunwind
unwinding at runtime.
- Extensive hardening of perf.data parsing against crafted files:
add bounds checks and byte-swap validation for session records,
feature sections, header attributes, BPF metadata, auxtrace
errors, compressed events, CPU maps, build ID notes, and ELF
program headers. Add minimum event size validation and file
offset diagnostics.
- Fix libdw API contract violations across dwarf-aux, libdw,
probe-finder, annotate-data, and debuginfo subsystems. Fix
callchain parent update in ORDER_CALLER mode, support DWARF line
0 in inline lists, handle multiple address spaces in callchains.
- Fix numerous 'perf sched' bugs: thread reference leaks, memory
leaks, heap overflows with cross-machine recordings, NULL
dereferences, replace BUG_ON assertions with graceful error
handling, bounds-check CPU indices, fix SIGCHLD vs pause() races
in sched stats.
- Overhaul the build system: move BPF skeleton generation out of
Makefile.perf into bpf_skel.mak, decouple pmu-events from the
prepare target, make beauty generated C code standalone .o files,
compile BPF skeletons with -mcpu=v3, fix continuous rebuilds,
various cleanups.
- Add 'perf test' JUnit XML reporting with -j/--junit option, split
monolithic test suites into sub-tests, add summary reporting,
refactor parallel poll loop, fix test failures on musl-based
systems.
- Fix 'perf c2c' memory leaks in hist entry and format list
handling, use-after-free in error paths, bounds-check CPU and
node IDs.
- Fix 'perf bpf' metadata leaks on duplicate insert and alloc
failure, bounds-check array offsets, validate event sizes and
func_info fields, add NULL checks.
- Fix hwmon PMU: off-by-one null termination on sysfs reads,
strlcpy buffer overflow in parse_hwmon_filename(), fd 0 check,
empty label reads, scnprintf usage.
- Fix symbols subsystem: bounds-check ELF and sysfs build ID note
iteration, validate p_filesz, fix 32-bit ELF bswap error, fix
signed overflow in size checks, bounds-check .gnu_debuglink
section.
- Fix tools lib api: null termination in filename__read_int/ull(),
uninitialized stack data in filename__write_int(), snprintf
truncation in mount_overload().
- Replace libbabeltrace with babeltrace2-ctf-writer for CTF
conversion in 'perf data'.
- Add RISC-V SDT argument parsing for static tracepoints.
- Add 'perf trace --show-cpu' option to display CPU id.
- Add 'perf bench sched pipe --write-size' option.
- Add a perf-specific .clang-format that overrides some kernel
style behaviors.
- Update Intel vendor events for Alder Lake, Arrow Lake, Clearwater
Forest, Emerald Rapids, Granite Rapids, Grand Ridge, Lunar Lake,
Meteor Lake, Panther Lake, Sapphire Rapids, Sierra Forest.
- Add IOMMU metrics for AMD and Intel.
- Fix AMD event: switch l2_itlb_misses to
bp_l1_tlb_miss_l2_tlb_miss.all.
- Add AMD IBS improvements: decode Streaming-store and
Remote-Socket flags, suppress bogus fields on Zen4+, skip
privilege test on Zen6+.
- Fix 'perf lock contention' SIGCHLD vs pause() race, allow
'mmap_lock' in -L filter, enable end-timestamp for cgroup
aggregation, fix non-atomic data updates.
- Fix 'perf stat' false NMI watchdog warning in aggregation modes,
bounds-check CPU index in topology callbacks, add aggr_nr metric
parser support for uncore scaling.
- Fix 'perf timechart' memory leaks, CPU bounds checking,
use-after-free on corrupted callchains.
- Fix 'perf inject' itrace branch stack synthesis, fix synthesized
sample size with branch stacks.
- Fix DSO heap overflow on decompressed paths, uninitialized
pathname on fallback, set proper error codes.
- Fix various snprintf/scnprintf usages to prevent buffer overflows
and truncation across the codebase.
- Fix off-by-one stack buffer overflow in kallsyms__parse().
- Fix 'perf kwork' memory management, address sanitizer issues,
bounds check work->cpu.
- Fix 'perf tpebs' concurrent stop races and PID reuse hazards.
- Add O_CLOEXEC to open() calls and use mkostemp() for temporary
files to prevent file descriptor leaks to child processes.
- Fix s390 Python extension TEXTREL by compiling as PIC.
- Fix build with ASAN for jitdump.
- Fix build failure due to btf_vlen() return type change.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Aaron Tomlin (2):
perf trace: Introduce --show-cpu option to display cpu id
perf trace: Fix noise and signed formatting of __probe_ip in bare dynamic probes
Andi Kleen (1):
perf stat: Make metric only column line up with header
Arnaldo Carvalho de Melo (123):
Merge remote-tracking branch 'torvalds/master' into perf-tools-next
Merge remote-tracking branch 'torvalds/master' into perf-tools-next
perf tests hwmon_pmu: Use PRIu64 + (uint64_t) cast for a __u64 field to work more widely
perf session: Add minimum event size and alignment validation
perf session: Bounds-check one_mmap event pointer in peek_event
perf tools: Fix event_contains() macro to verify full field extent
perf zstd: Fix compression error path in zstd_compress_stream_to_records()
perf zstd: Fix multi-iteration decompression and error handling
perf session: Fix PERF_RECORD_READ swap and dump for variable-length events
perf session: Fix swap_sample_id_all() crash on crafted events
perf session: Add validated swap infrastructure with null-termination checks
perf session: Use bounded copy for PERF_RECORD_TIME_CONV
perf session: Validate HEADER_ATTR attr.size before swapping
perf session: Validate nr fields against event size on both swap and common paths
perf header: Byte-swap build ID event pid and bounds check section entries
perf cpumap: Reject RANGE_CPUS with start_cpu > end_cpu
perf auxtrace: Harden auxtrace_error event handling
perf session: Add byte-swap and bounds check for PERF_RECORD_BPF_METADATA events
perf header: Validate null-termination in PERF_RECORD_EVENT_UPDATE string fields
perf tools: Bounds check perf_event_attr fields against attr.size before printing
perf header: Propagate feature section processing errors
perf header: Validate f_attr.ids section before use in perf_session__read_header()
perf header: Validate feature section size and add read path bounds checking
perf header: Sanity check HEADER_EVENT_DESC attr.size before swap
perf header: Validate bitmap size before allocating in do_read_bitmap()
perf session: Add byte-swap handler for PERF_RECORD_COMPRESSED2
perf tools: Harden compressed event processing
perf session: Check for decompression buffer size overflow
perf session: Bound nr_cpus_avail and validate sample CPU
perf kwork: Bounds check work->cpu before indexing cpus_runtime[]
perf session: Snapshot event->header.size in process_user_event()
perf test: Add truncated perf.data robustness test
perf sample: Add file_offset field to struct perf_sample
perf session: Include file offset in event skip/stop messages
perf sched: Include file offset in event skip messages
perf timechart: Include file offset in CPU bounds check messages
perf tools: Include file offset and event type name in skip messages
perf timechart: Fix cat_backtrace() use-after-free on corrupted callchain
perf sched: Replace BUG_ON on invalid CPU with graceful skip
perf test: Add file offset diagnostic test for corrupted perf.data
perf tools: Guard test_bit from out-of-bounds sample CPU
perf sched: Fix thread reference leak in latency_switch_event
perf sched: Fix NULL dereference in latency_runtime_event
perf sched: Fix comp_cpus heap overflow with cross-machine recordings
perf tools: Guard remaining test_bit calls from OOB sample CPU
perf tools: Add bounds check to cpu__get_node()
perf sched: Fix thread reference leaks in timehist_get_thread()
perf sched: Cap max_cpu at MAX_CPUS in timehist sample processing
perf sched: Fix register_pid() overflow, strcpy, and BUG_ON
perf mmap: Guard cpu__get_node() return in aio_bind()
perf stat: Bounds-check CPU index in topology aggregation callbacks
perf c2c: Bounds-check CPU and node IDs before bitmap and array access
perf c2c: Bounds-check CPU IDs in setup_nodes() topology loop
perf sched: Clean up idle_threads entry on init failure
perf sched: Use is_idle_sample() for idle thread runtime cast guard
perf sched: Fix thread reference leak in idle hist processing
perf sched: Use thread__put() in free_idle_threads()
perf sched: Replace BUG_ON and add NULL checks in replay event helpers
perf mmap: Fix NULL deref in aio cleanup on alloc failure
perf stat: Introduce perf_env__get_cpu_topology() to guard NULL env->cpu
perf c2c: Fix use-after-free in he__get_c2c_hists() error path
perf timechart: Fix cpu2y() OOB read on untrusted CPU index
perf tools: Fix int16_t truncation of max_cpu_num in set_max_cpu_num()
perf sched: Free callchain nodes in idle thread cleanup
libperf: Document struct perf_cpu int16_t ABI limitation
perf tools: Fix get_max_num() size_t underflow on empty sysfs file
perf tools: Use scnprintf() in cpu_map__snprint() to prevent overflow
perf tools: Use perf_env__get_cpu_topology() in machine__resolve()
perf tools: NULL bitmap pointers after bitmap_free()
perf sched: Bounds-check prio before test_bit() in timehist
perf sched: Fix idle-hist callchain display using wrong rb_first variant
perf tools: Add O_CLOEXEC to open() calls in DSO and ELF code
perf bpf: Use scnprintf() in snprintf_hex() and synthesize_bpf_prog_name()
perf hists: Fix snprintf() in hists__scnprintf_title() UID filter path
perf tools: Use scnprintf() in build_id__snprintf() and hwmon read_events()
libperf: Document code simplification case for widening struct perf_cpu
perf pmu: Fix pmu_id() heap underwrite on empty identifier file
perf pmu: Fix perf_pmu__parse_scale/unit() OOB access on empty sysfs file
tools lib api: Fix missing null termination in filename__read_int/ull()
perf symbols: Fix signed overflow in sysfs__read_build_id() size check
perf symbols: Bounds-check .gnu_debuglink section data
perf tools: Use mkostemp() for O_CLOEXEC on temporary files
perf intel-pt: Fix snprintf size tracking bug in insn decoder
perf tools: Fix thread__set_comm_from_proc() on empty comm file
perf hwmon: Fix off-by-one null termination on sysfs reads
perf hwmon: Use scnprintf() in hwmon_pmu__for_each_event()
perf hwmon: Fix parse_hwmon_filename() strlcpy buffer overflow
perf symbols: Bounds-check descsz in sysfs__read_build_id() GNU fallback
perf tools: Fix uninitialized pathname on uncompressed fallback in filename__decompress()
perf hwmon: Guard label read against empty or failed reads
perf tools: Use snprintf() in dso__read_running_kernel_build_id()
tools lib api: Fix filename__write_int() writing uninitialized stack data
tools lib api: Fix mount_overload() snprintf truncation and toupper range
perf bpf: Add NULL check for btf__type_by_id() in synthesize_bpf_prog_name()
perf bpf: Fix map data leak in bpf_metadata_create() on alloc failure
perf bpf: Fix metadata leak in perf_env__add_bpf_info() on duplicate insert
perf symbols: Add bounds checks to elf_read_build_id() note iteration
perf symbols: Add bounds checks to read_build_id() note iteration in minimal build
perf symbols: Fix bswap copy-paste error for 32-bit ELF p_filesz
perf symbols: Validate p_filesz before use in filename__read_build_id()
perf symbols: Break infinite loop on zero-filled notes in sysfs__read_build_id()
perf dso: Fix heap overflow in dso__get_filename() on decompressed path
perf dso: Set error code when open() fails on uncompressed fallback path
perf tools: Use snprintf() for root_dir path construction
perf hwmon: Fix fd check to accept fd 0 in hwmon_pmu__describe_items()
perf sched: Replace (void*)1 sentinel with proper runtime allocation
perf bpf: Validate func_info_rec_size and sub_id in synthesize_bpf_prog_name()
perf bpf: Reject oversized BPF metadata events that truncate header.size
perf bpf: Bounds-check array offsets in bpil_offs_to_addr()
perf c2c: Free format list entries when releasing c2c hist entries
perf cs-etm: Reject CPU IDs that would overflow signed comparison
perf evsel: Add no-libtraceevent stubs for evsel__field() and evsel__common_field()
perf evsel: Add lazy-initialized probe type detection helpers
perf trace: Guard __probe_ip suppression with evsel__is_probe()
perf machine: Propagate machine__init() error to callers
perf machine: Use snprintf() for guestmount path construction
perf cs-etm: Validate num_cpu before metadata allocation
perf cs-etm: Require full global header in auxtrace_info size check
perf cs-etm: Bounds-check CPU in cs_etm__get_queue()
perf c2c: Free format list entries when c2c_hists__init() fails
perf c2c: Fix hist entry and format list leaks in c2c_he_free()
perf bpf: Validate array presence before casting BPF prog info pointers
perf dso: Set standard errno on decompression failure
Athira Rajeev (4):
powerpc tools perf: Initialize error code in auxtrace_record_init function
perf auxtrace: Add kernel-doc comment to auxtrace_record__init() function
perf tools: Fix the check for parameterized field in event term
perf pmu: Use scnprintf in buffer offset calculations
Breno Leitao (1):
perf bench: Add --write-size option to sched pipe
Chen Pei (1):
perf riscv: Add SDT argument parsing for RISC-V
Chun-Tse Shao (5):
perf jevents: Add IOMMU metrics for AMD
perf jevents: Add IOMMU metrics for Intel
perf stat: Add aggr_nr metric parser support
perf stat: Use aggr_nr scaling for Intel uncore miss latency metrics
perf stat: Fix false NMI watchdog warning in aggregation modes
Dapeng Mi (1):
perf script: Fix missing '+' indicator when branch counter reaches upper limit
Florian Fainelli (1):
perf trace beauty fcntl: Fix build with older kernel headers
Ian Rogers (137):
perf dwarf-aux: Fix libdw segmentation fault in cu_walk_functions_at
perf dwarf-aux: Fix libdw API contract violations
perf srcline: Introduce inline_node__clear_frames()
perf libdw: Fix callchain parent update in ORDER_CALLER mode
perf libdw: Support DWARF line 0 in inline list
perf libdw: Fix libdw API contract violations and memory leaks
perf probe-finder: Fix libdw API contract violations
perf annotate-data: Fix libdw API contract violations
perf debuginfo: Fix libdw API contract violations
perf sched stats: Fix segmentation faults, memory leaks, and stale pointers in diff mode
perf sched: Add missing mmap2 handler in timehist
perf tool: Fix missing schedstat delegates and dont_split_sample_group in delegate_tool
perf record: Refactor ARM64 leaf caller setup out of arch
perf pmu-events AMD: Switch l2_itlb_misses to bp_l1_tlb_miss_l2_tlb_miss.all
perf metricgroup: Avoid scanning unnecessary PMUs for identifier match
perf unwind: Refactor get_entries to allow dynamic libdw/libunwind selection
tools build: Deduplicate test-libunwind for different architectures
perf build: Be more programmatic when setting up libunwind variables
perf unwind-libunwind: Make libunwind register reading cross platform
perf unwind-libunwind: Move flush/finish access out of local
perf unwind-libunwind: Remove libunwind-local
perf unwind-libunwind: Add RISC-V libunwind support
perf clang-format: Add a perf clang-format that overrides some kernel behaviors
perf event: Fix size of synthesized sample with branch stacks
perf inject: Fix itrace branch stack synthesis
perf tool: Remove evsel from tool APIs that pass the sample
perf kvm: Don't pass evsel with sample
perf evsel: Refactor evsel tracepoint sample accessors perf_sample
perf trace: Don't pass evsel with sample
perf callchain: Don't pass evsel and sample
perf lock: Only pass sample to handlers
perf hist: Remove evsel parameter from inc samples functions
perf db-export: Remove evsel from struct export_sample
perf hist: Remove evsel from struct hist_entry_iter
perf report: Directly use sample->evsel to avoid computing from sample->id
perf annotate: Don't pass evsel to add_sample
perf inject: Don't pass evsel with sample
perf kmem: Don't pass evsel with sample
perf kwork: Don't pass evsel with sample
perf sched: Don't pass evsel with sample
perf timechart: Don't pass evsel with sample
perf trace: Don't pass evsel with sample
perf evlist: Try to avoid computing evsel from sample
perf script: Don't pass evsel with sample
perf s390-sample-raw: Don't pass evsel or its PMU with sample
perf evsel: Don't pass evsel with sample
perf lock: Constify trace_lock_handler variables
perf lock: Avoid segv if event is missing a callchain
perf timechart: Fix memory leaks
perf kmem: Fix memory leaks on error path and when skipping
perf synthetic-events: Bound check when synthesizing mmap2 and build_id events
perf kmem: Add bounds checks to tracepoint read values
perf sched: Bounds check CPU in sched switch events
perf timechart: Bounds check CPU
perf evsel: Add bounds checking to trace point raw data accessors
perf trace beauty: Make beauty generated C code standalone .o files
perf build: Decouple pmu-events from prepare umbrella target
perf build: Remove empty archheaders target
perf build: Move BPF skeleton generation out of Makefile.perf
perf build: Encapsulate vmlinux.h and bpftool in bpf_skel.mak
perf build: Pre-generate BPF skeleton tooling during umbrella prepare phase
perf build: Move libsymbol dependency out of prepare step
perf build: Remove redundant libbpf feature check for static builds
perf pmu-events: Split big_c_string storage into standalone compilation unit
perf pmu-events: Convert recursive shell assignments and macros to Make built-ins
perf build: Convert llvm-config shell queries to simply expanded variables
perf tests: Add test for uncore event sorting
perf arch x86 tests: Add test for topdown event sorting
perf build: Prefix SCRIPTS with output directory to fix continuous rebuilds
perf build: Fix fsmount.o build
perf build: Unconditionally set up libunwind feature build flags
perf kwork: Fix address sanitizer issues
perf kwork: Fix memory management of kwork_work
perf tool_pmu: Make tool PMU events respect enable/disable
perf tests: Add test for stat delay option with duration_time
perf stat: Propagate supported flag to follower cgroup BPF events
perf test: Add stat metrics --for-each-cgroup test
perf arch arm: Sort includes and add missed explicit dependencies
perf arch x86: Sort includes and add missed explicit dependencies
perf tests: Sort includes and add missed explicit dependencies
perf script: Sort includes and add missed explicit dependencies
perf vendor events intel: Update alderlake events from 1.37 to 1.39
perf vendor events intel: Update alderlaken events from 1.37 to 1.39
perf vendor events intel: Update arrowlake events from 1.16 to 1.17
perf vendor events intel: Update clearwaterforest events and metrics from 1.00 to 1.02
perf vendor events intel: Update emeraldrapids events from 1.21 to 1.23
perf vendor events intel: Update grandridge events from 1.11 to 1.12
perf vendor events intel: Update graniterapids events from 1.17 to 1.18
perf vendor events intel: Update lunarlake events from 1.21 to 1.22
perf vendor events intel: Update meteorlake events from 1.20 to 1.21
perf vendor events intel: Update pantherlake events from 1.04 to 1.05
perf vendor events intel: Update sapphirerapids events from 1.36 to 1.39
perf vendor events intel: Update sierraforest events from 1.15 to 1.17
perf env: Add perf_env__e_machine helper and use in perf_env__arch
perf tests topology: Switch env->arch use to env->e_machine
perf env, dso, thread: Add _endian variants for e_machine helpers
perf capstone: Determine architecture from e_machine
perf print_insn: Use e_machine for fallback IP length check
perf symbol: Avoid use of machine__is
perf machine: Use perf_env e_machine rather than arch
perf sample-raw: Use perf_env e_machine rather than arch
perf sort: Use perf_env e_machine rather than arch
perf arch common: Use perf_env e_machine rather than arch
perf header: In print_pmu_caps use perf_env e_machine
perf c2c: Use perf_env e_machine rather than arch
perf lock-contention: Use perf_env e_machine rather than arch
perf env: Refactor perf_env__arch_strerrno
perf env: Remove unused perf_env__raw_arch
perf env: Add mutex to protect lazy environment initialization
perf env: Add helper to lazily compute the os_release
perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues
perf symbol: Lazily compute idle
tools build: Fix feature checks to touch target files on success
perf tools: Ensure event leader stays at head of evlist after sorting
perf tpebs: Fix concurrent stop races and PID reuse hazards in tpebs_stop
perf jevents.py: Make generated C code more kernel style
perf pmu-events: Add API to get metric table name and iterate tables
perf test: Drain pipe after child finishes to avoid losing output
perf test: Support dynamic test suites with setup callback and private data
perf test pmu-events: A sub-test per metric table
tools subcmd: Robust fallback and existence checks for process reaping
perf test: Refactor parallel poll loop to drain all pipes simultaneously
perf test: Show snippet failure output for verbose=1
perf test: Add summary reporting
perf test: Fix subtest status alignment for multi-digit indexes
perf test: Skip shebang and SPDX comments in shell test descriptions
perf test: Split monolithic 'util' test suite into sub-tests
perf test: Add -j/--junit option for JUnit XML test reports
perf test: Add shell test to validate JUnit XML reporting output
perf test: Remove /usr/bin/cc dependency from Intel PT shell test
perf pmu: Recognize 'default_core' as a core PMU and document matching
perf test: Truncate printed test descriptions dynamically to avoid terminal wrapping
perf maps: Add maps__mutate_mapping
perf inject/aslr: Add ASLR tool infrastructure and MMAP tracking
perf inject/aslr: Implement sample address remapping
perf aslr: Strip sample registers
perf test: Add inject ASLR test
James Clark (29):
perf arm_spe: Make a function to get the MIDR
perf arm_spe: Handle missing CPU IDs
perf arm_spe: Store MIDR in arm_spe_pkt
perf arm_spe: Turn event name mappings into an array
perf arm_spe: Decode Arm N1 IMPDEF events
perf arm_spe: Print remaining IMPDEF event numbers
perf test: Make leafloop workload immune to compiler options
perf arm-spe: Don't warn about the discard bit if it doesn't exist
perf annotate: Fix crashes on empty annotate windows
perf cs-etm: Queue context packets for frontend
perf test: Add workload-ctl option
perf test: Add a workload that forces context switches
perf test cs-etm: Test process attribution
perf test: Add deterministic workload
perf test cs-etm: Replace unroll loop thread with deterministic decode test
perf test cs-etm: Remove asm_pure_loop test
perf test cs-etm: Replace memcpy test with raw dump stress test
perf test: Add named_threads workload
perf test cs-etm: Test decoding for concurrent threads test
perf test cs-etm: Remove duplicate branch tests
perf test cs-etm: Skip if not root
perf test cs-etm: Reduce snapshot size
perf test cs-etm: Speed up basic test
perf test cs-etm: Remove unused Coresight workloads
perf test cs-etm: Make disassembly test use kcore
perf test cs-etm: Add all branch instructions to test
perf test cs-etm: Speed up disassembly test
perf test cs-etm: Move existing tests to coresight folder
perf test: Compile named_threads workload with -O0
Jens Remus (3):
perf build: Respect V=1 for Python extension builds
perf build: Do not duplicate CFLAGS in Python extension builds
perf s390: Fix TEXTREL in Python extension by compiling as PIC
Leo Yan (1):
perf pmu: Skip test on Arm64 when #slots is zero
Li Guan (1):
perf riscv: Fix discarded const qualifier in _get_field()
Mark Brown (1):
perf bpf: Fix up build failure due to change of btf_vlen() return type
Martin Kaiser (5):
perf test: Fix nanosleep check in the ftrace test
perf test: Fix sys_enter_openat event test for musl
perf test: Fix "trace summary" test for musl-based systems
perf dwarf: Avoid redefinition warnings for REG_DWARFNUM_NAME
perf riscv: fix register name strings
Michael Jeanson (1):
perf data ctf: replace libbabeltrace with babeltrace2-ctf-writer
Michael Petlan (1):
perf build-id: Fix off-by-one bug when printing kernel/module build-id
Miguel Martín Gil (1):
perf util: Fix perf_exe() buffer write past end
Namhyung Kim (5):
perf build: Update error message for BUILD_NONDISTRO=1
perf build: Add -fms-extensions for GEN_VMLINUX_H=1
perf build: Remove NO_GTK2 build test
perf lock contention: Allow 'mmap_lock' in -L/--lock-filter
perf jitdump: Fix a build error with ASAN
Ravi Bangoria (8):
perf test amd ibs: Fix incorrect kernel version check
perf tool ibs: Sync AMD IBS header file
perf test ibs: Skip privilege test on Zen6 and newer platforms
perf amd ibs: Suppress bogus TlbRefillLat and DCPhysAd on Zen4+
perf amd ibs: Make Fetch status bits dependent on PhyAddrValid for newer platforms
perf amd ibs: Decode Remote-Socket flag in IBS OP raw dump
perf amd ibs: Decode Streaming-store flag in IBS OP raw dump
perf doc: Document new IBS capabilities in man page
Rui Qi (3):
perf: Extract is_ignored_kernel_symbol() for kernel mapping symbol filtering
perf: Apply is_ignored_kernel_symbol() filter in ELF loading path for kernel DSOs
perf: Fix off-by-one stack buffer overflow in kallsyms__parse()
Suchit Karunakaran (3):
perf lock: Fix non-atomic max/time and min_time updates in contention_data
perf build: Compile BPF skeletons with -mcpu=v3
perf lock contention: Enable end-timestamp accounting for cgroup aggregation
Swapnil Sapkal (3):
perf sched stats: Fix SIGCHLD vs pause() race in schedstat_record()
perf sched stats: Fix SIGCHLD vs pause() race in schedstat_live()
perf lock contention: Fix SIGCHLD vs pause() race in __cmd_contention()
Tanushree Shah (1):
perf data convert json: Fix addr_location leak on time-filtered samples
Thomas Falcon (2):
perf annotate: Fix missing branch counter column in TUI mode
perf tools: Document recent additions to the perf.data file header
Thomas Richter (1):
perf callchain: Handle multiple address spaces
Documentation/trace/coresight/coresight-perf.rst | 78 +-
MAINTAINERS | 2 -
tools/arch/x86/include/asm/amd/ibs.h | 4 +-
tools/build/Makefile.feature | 17 +-
tools/build/feature/Makefile | 59 +-
tools/build/feature/test-all.c | 6 +-
...bbabeltrace.c => test-babeltrace2-ctf-writer.c} | 3 +-
tools/build/feature/test-libunwind-aarch64.c | 27 -
tools/build/feature/test-libunwind-arm.c | 28 -
.../feature/test-libunwind-debug-frame-aarch64.c | 17 -
.../build/feature/test-libunwind-debug-frame-arm.c | 17 -
tools/build/feature/test-libunwind-debug-frame.c | 1 -
tools/build/feature/test-libunwind-x86.c | 28 -
tools/build/feature/test-libunwind-x86_64.c | 28 -
tools/build/feature/test-libunwind.c | 1 -
tools/lib/api/fs/fs.c | 19 +-
tools/lib/perf/TODO | 30 +
tools/lib/perf/include/perf/cpumap.h | 8 +-
tools/lib/perf/include/perf/event.h | 9 +-
tools/lib/subcmd/run-command.c | 69 +-
tools/lib/symbol/kallsyms.c | 5 +-
tools/perf/.clang-format | 20 +
tools/perf/.gitignore | 1 +
tools/perf/Build | 2 +
tools/perf/Documentation/perf-amd-ibs.txt | 39 +
tools/perf/Documentation/perf-test.txt | 24 +-
tools/perf/Documentation/perf-trace.txt | 3 +
tools/perf/Documentation/perf.data-file-format.txt | 16 +-
tools/perf/Makefile.config | 266 +-
tools/perf/Makefile.perf | 455 +-
tools/perf/arch/arm/util/Build | 2 -
tools/perf/arch/arm/util/cs-etm.c | 26 +-
tools/perf/arch/arm/util/unwind-libunwind.c | 50 -
tools/perf/arch/arm64/util/Build | 2 -
tools/perf/arch/arm64/util/arm-spe.c | 3 +-
tools/perf/arch/arm64/util/machine.c | 12 -
tools/perf/arch/arm64/util/unwind-libunwind.c | 17 -
tools/perf/arch/common.c | 92 +-
tools/perf/arch/loongarch/util/Build | 2 -
tools/perf/arch/loongarch/util/unwind-libunwind.c | 82 -
tools/perf/arch/mips/Build | 1 -
tools/perf/arch/mips/util/Build | 1 -
tools/perf/arch/mips/util/unwind-libunwind.c | 22 -
tools/perf/arch/powerpc/include/dwarf-regs-table.h | 1 +
tools/perf/arch/powerpc/util/Build | 1 -
tools/perf/arch/powerpc/util/auxtrace.c | 6 +
tools/perf/arch/powerpc/util/unwind-libunwind.c | 92 -
tools/perf/arch/riscv/include/dwarf-regs-table.h | 3 +-
tools/perf/arch/riscv/util/header.c | 2 +-
tools/perf/arch/s390/include/dwarf-regs-table.h | 1 +
tools/perf/arch/x86/tests/amd-ibs-period.c | 2 +-
tools/perf/arch/x86/tests/topdown.c | 166 +-
tools/perf/arch/x86/util/Build | 3 -
tools/perf/arch/x86/util/intel-bts.c | 20 +-
tools/perf/arch/x86/util/intel-pt.c | 29 +-
tools/perf/arch/x86/util/unwind-libunwind.c | 115 -
tools/perf/bench/Build | 6 +
.../{util => bench}/bpf_skel/bench_uprobe.bpf.c | 0
tools/perf/bench/inject-buildid.c | 9 +-
tools/perf/bench/sched-pipe.c | 129 +-
tools/perf/bench/uprobe.c | 2 +-
tools/perf/bpf_skel.mak | 109 +
tools/perf/builtin-annotate.c | 45 +-
tools/perf/builtin-buildid-list.c | 4 +-
tools/perf/builtin-c2c.c | 79 +-
tools/perf/builtin-check.c | 2 +-
tools/perf/builtin-data.c | 18 +-
tools/perf/builtin-diff.c | 16 +-
tools/perf/builtin-inject.c | 335 +-
tools/perf/builtin-kmem.c | 101 +-
tools/perf/builtin-kvm.c | 31 +-
tools/perf/builtin-kwork.c | 300 +-
tools/perf/builtin-lock.c | 146 +-
tools/perf/builtin-mem.c | 1 -
tools/perf/builtin-record.c | 22 +-
tools/perf/builtin-report.c | 56 +-
tools/perf/builtin-sched.c | 585 +-
tools/perf/builtin-script.c | 157 +-
tools/perf/builtin-stat.c | 50 +-
tools/perf/builtin-timechart.c | 209 +-
tools/perf/builtin-top.c | 26 +-
tools/perf/builtin-trace.c | 238 +-
tools/perf/pmu-events/Build | 26 +-
tools/perf/pmu-events/amd_metrics.py | 59 +-
.../perf/pmu-events/arch/x86/alderlake/cache.json | 85 +
.../perf/pmu-events/arch/x86/alderlake/memory.json | 64 +
.../pmu-events/arch/x86/alderlake/pipeline.json | 54 +
.../arch/x86/alderlake/virtual-memory.json | 9 +
.../perf/pmu-events/arch/x86/alderlaken/cache.json | 50 +
.../pmu-events/arch/x86/alderlaken/memory.json | 57 +
.../pmu-events/arch/x86/alderlaken/pipeline.json | 48 +
.../arch/x86/alderlaken/virtual-memory.json | 8 +
.../perf/pmu-events/arch/x86/arrowlake/cache.json | 53 +
.../arch/x86/arrowlake/floating-point.json | 9 +
.../pmu-events/arch/x86/arrowlake/pipeline.json | 48 +-
.../arch/x86/clearwaterforest/cache.json | 525 +-
.../arch/x86/clearwaterforest/counter.json | 79 +-
.../arch/x86/clearwaterforest/cwf-metrics.json | 310 +
.../arch/x86/clearwaterforest/floating-point.json | 191 +
.../arch/x86/clearwaterforest/frontend.json | 226 +
.../arch/x86/clearwaterforest/memory.json | 92 +
.../arch/x86/clearwaterforest/other.json | 20 +
.../arch/x86/clearwaterforest/pipeline.json | 829 +-
.../arch/x86/clearwaterforest/uncore-cache.json | 3413 ++++++++
.../arch/x86/clearwaterforest/uncore-cxl.json | 31 +
.../x86/clearwaterforest/uncore-interconnect.json | 1625 ++++
.../arch/x86/clearwaterforest/uncore-io.json | 1925 +++++
.../arch/x86/clearwaterforest/uncore-memory.json | 883 ++
.../arch/x86/clearwaterforest/uncore-power.json | 109 +
.../arch/x86/clearwaterforest/virtual-memory.json | 94 +
.../pmu-events/arch/x86/emeraldrapids/cache.json | 18 +
.../perf/pmu-events/arch/x86/grandridge/cache.json | 56 +
.../arch/x86/grandridge/floating-point.json | 8 +
.../pmu-events/arch/x86/grandridge/frontend.json | 64 +
.../pmu-events/arch/x86/grandridge/pipeline.json | 15 +
.../pmu-events/arch/x86/grandridge/uncore-io.json | 15 +-
.../arch/x86/grandridge/uncore-memory.json | 32 +-
.../pmu-events/arch/x86/graniterapids/cache.json | 9 +
.../perf/pmu-events/arch/x86/lunarlake/cache.json | 20 +
.../pmu-events/arch/x86/lunarlake/pipeline.json | 9 +
tools/perf/pmu-events/arch/x86/mapfile.csv | 24 +-
.../perf/pmu-events/arch/x86/meteorlake/cache.json | 55 +
.../arch/x86/meteorlake/floating-point.json | 63 +
.../pmu-events/arch/x86/meteorlake/memory.json | 64 +
.../pmu-events/arch/x86/meteorlake/pipeline.json | 158 +
.../arch/x86/meteorlake/virtual-memory.json | 9 +
.../pmu-events/arch/x86/pantherlake/cache.json | 152 +-
.../pmu-events/arch/x86/pantherlake/frontend.json | 60 +
.../pmu-events/arch/x86/pantherlake/memory.json | 29 +
.../pmu-events/arch/x86/pantherlake/other.json | 10 +
.../pmu-events/arch/x86/pantherlake/pipeline.json | 231 +-
.../pmu-events/arch/x86/sapphirerapids/cache.json | 27 +
.../pmu-events/arch/x86/sierraforest/cache.json | 49 +
.../arch/x86/sierraforest/floating-point.json | 64 +
.../pmu-events/arch/x86/sierraforest/memory.json | 57 +
.../pmu-events/arch/x86/sierraforest/pipeline.json | 156 +
.../arch/x86/sierraforest/virtual-memory.json | 8 +
tools/perf/pmu-events/empty-pmu-events.c | 8821 +++++++++++++-------
tools/perf/pmu-events/intel_metrics.py | 68 +-
tools/perf/pmu-events/jevents.py | 870 +-
tools/perf/pmu-events/metric.py | 10 +-
tools/perf/pmu-events/pmu-events.h | 5 +
tools/perf/scripts/python/arm-cs-trace-disasm.py | 20 +-
tools/perf/tests/Build | 1 +
tools/perf/tests/builtin-test.c | 979 ++-
tools/perf/tests/code-reading.c | 7 +-
tools/perf/tests/dlfilter-test.c | 8 +-
tools/perf/tests/hists_cumulate.c | 6 +-
tools/perf/tests/hists_filter.c | 6 +-
tools/perf/tests/hists_link.c | 5 +-
tools/perf/tests/hists_output.c | 6 +-
tools/perf/tests/hwmon_pmu.c | 19 +-
tools/perf/tests/kallsyms-split.c | 7 +-
tools/perf/tests/make | 10 +-
tools/perf/tests/mmap-basic.c | 22 +-
tools/perf/tests/openat-syscall-tp-fields.c | 7 +-
tools/perf/tests/parse-no-sample-id-all.c | 6 +
tools/perf/tests/pmu-events.c | 180 +-
tools/perf/tests/pmu.c | 11 +-
tools/perf/tests/sample-parsing.c | 5 +-
tools/perf/tests/shell/amd-ibs-swfilt.sh | 37 +-
tools/perf/tests/shell/coresight/Makefile | 29 -
.../perf/tests/shell/coresight/Makefile.miniconfig | 14 -
tools/perf/tests/shell/coresight/asm_pure_loop.sh | 22 -
.../tests/shell/coresight/asm_pure_loop/.gitignore | 1 -
.../tests/shell/coresight/asm_pure_loop/Makefile | 34 -
.../shell/coresight/asm_pure_loop/asm_pure_loop.S | 30 -
.../tests/shell/coresight/concurrent_threads.sh | 45 +
.../tests/shell/coresight/context_switch_thread.sh | 69 +
tools/perf/tests/shell/coresight/deterministic.sh | 72 +
.../tests/shell/coresight/memcpy_thread/.gitignore | 1 -
.../tests/shell/coresight/memcpy_thread/Makefile | 33 -
.../shell/coresight/memcpy_thread/memcpy_thread.c | 80 -
.../tests/shell/coresight/memcpy_thread_16k_10.sh | 22 -
.../perf/tests/shell/coresight/raw_dump_stress.sh | 65 +
.../shell/{ => coresight}/test_arm_coresight.sh | 43 +-
.../{ => coresight}/test_arm_coresight_disasm.sh | 23 +-
.../tests/shell/coresight/thread_loop/.gitignore | 1 -
.../tests/shell/coresight/thread_loop/Makefile | 33 -
.../shell/coresight/thread_loop/thread_loop.c | 85 -
.../shell/coresight/thread_loop_check_tid_10.sh | 23 -
.../shell/coresight/thread_loop_check_tid_2.sh | 23 -
.../shell/coresight/unroll_loop_thread/.gitignore | 1 -
.../shell/coresight/unroll_loop_thread/Makefile | 33 -
.../unroll_loop_thread/unroll_loop_thread.c | 75 -
.../tests/shell/coresight/unroll_loop_thread_10.sh | 22 -
.../tests/shell/data_file_offset_diagnostics.sh | 91 +
tools/perf/tests/shell/data_validation.sh | 86 +
tools/perf/tests/shell/ftrace.sh | 7 +-
tools/perf/tests/shell/inject_aslr.sh | 533 ++
tools/perf/tests/shell/lib/coresight.sh | 134 -
tools/perf/tests/shell/lock_contention.sh | 11 +
tools/perf/tests/shell/stat.sh | 53 +
tools/perf/tests/shell/stat_metrics_cgrp.sh | 200 +
tools/perf/tests/shell/test_intel_pt.sh | 169 +-
.../tests/shell/test_perf_data_converter_ctf.sh | 8 +-
tools/perf/tests/shell/test_test_junit_output.sh | 63 +
tools/perf/tests/shell/trace_summary.sh | 2 +-
tools/perf/tests/switch-tracking.c | 9 +-
tools/perf/tests/symbols.c | 2 +-
tools/perf/tests/tests-scripts.c | 82 +-
tools/perf/tests/tests.h | 7 +
tools/perf/tests/thread-maps-share.c | 2 +-
tools/perf/tests/topology.c | 8 +-
tools/perf/tests/uncore-event-sorting.c | 176 +
tools/perf/tests/util.c | 20 +-
tools/perf/tests/vmlinux-kallsyms.c | 10 +-
tools/perf/tests/workloads/Build | 6 +
tools/perf/tests/workloads/context_switch_loop.c | 110 +
tools/perf/tests/workloads/deterministic.c | 39 +
tools/perf/tests/workloads/jitdump.c | 210 +
tools/perf/tests/workloads/leafloop.c | 40 +-
tools/perf/tests/workloads/named_threads.c | 109 +
tools/perf/trace/beauty/Build | 284 +
tools/perf/trace/beauty/arch_errno_names.c | 2 +
tools/perf/trace/beauty/arch_errno_names.sh | 53 +-
tools/perf/trace/beauty/beauty.h | 60 +
tools/perf/trace/beauty/eventfd.c | 6 +-
tools/perf/trace/beauty/fcntl.c | 16 +
tools/perf/trace/beauty/fsconfig.c | 5 +
tools/perf/trace/beauty/futex_op.c | 5 +-
tools/perf/trace/beauty/futex_val3.c | 5 +-
tools/perf/trace/beauty/mmap.c | 24 +-
tools/perf/trace/beauty/mode_t.c | 6 +-
tools/perf/trace/beauty/msg_flags.c | 8 +-
tools/perf/trace/beauty/open_flags.c | 2 +
tools/perf/trace/beauty/perf_event_open.c | 42 +-
tools/perf/trace/beauty/pid.c | 5 +-
tools/perf/trace/beauty/sched_policy.c | 8 +-
tools/perf/trace/beauty/seccomp.c | 12 +-
tools/perf/trace/beauty/signum.c | 6 +-
tools/perf/trace/beauty/socket_type.c | 6 +-
tools/perf/{util => trace/beauty}/syscalltbl.c | 0
tools/perf/{util => trace/beauty}/syscalltbl.h | 0
tools/perf/trace/beauty/tracepoints/Build | 21 +
tools/perf/trace/beauty/waitid_options.c | 8 +-
tools/perf/ui/browser.c | 3 +
tools/perf/ui/browsers/annotate.c | 7 +-
tools/perf/ui/browsers/map.c | 4 +-
tools/perf/util/Build | 25 +-
tools/perf/util/amd-sample-raw.c | 87 +-
tools/perf/util/annotate-data.c | 27 +-
tools/perf/util/annotate.c | 24 +-
tools/perf/util/annotate.h | 6 +-
tools/perf/util/arm-spe-decoder/Build | 2 +
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c | 17 +-
tools/perf/util/arm-spe-decoder/arm-spe-decoder.h | 3 +-
.../util/arm-spe-decoder/arm-spe-pkt-decoder.c | 144 +-
.../util/arm-spe-decoder/arm-spe-pkt-decoder.h | 5 +-
tools/perf/util/arm-spe.c | 92 +-
.../perf/util/arm64-frame-pointer-unwind-support.c | 6 +
.../perf/util/arm64-frame-pointer-unwind-support.h | 2 +
tools/perf/util/aslr.c | 1409 ++++
tools/perf/util/aslr.h | 44 +
tools/perf/util/auxtrace.c | 48 +-
tools/perf/util/bpf-event.c | 52 +-
tools/perf/util/bpf-event.h | 4 +-
tools/perf/util/bpf-trace-summary.c | 2 +-
tools/perf/util/bpf-utils.c | 16 +
tools/perf/util/bpf_counter_cgroup.c | 20 +
tools/perf/util/bpf_kwork.c | 14 +-
tools/perf/util/bpf_lock_contention.c | 13 +-
tools/perf/util/bpf_skel/lock_contention.bpf.c | 79 +-
tools/perf/util/bpf_skel/lock_data.h | 1 +
tools/perf/util/btf.c | 2 +-
tools/perf/util/build-id.c | 15 +-
tools/perf/util/build-id.h | 7 +-
tools/perf/util/callchain.c | 27 +-
tools/perf/util/callchain.h | 9 +-
tools/perf/util/capstone.c | 132 +-
tools/perf/util/config.c | 4 +
tools/perf/util/cpumap.c | 111 +-
tools/perf/util/cs-etm-base.c | 4 +-
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 21 +-
tools/perf/util/cs-etm.c | 312 +-
tools/perf/util/cs-etm.h | 8 +-
tools/perf/util/data-convert-bt.c | 37 +-
tools/perf/util/data-convert-json.c | 12 +-
tools/perf/util/data-convert.h | 4 +-
tools/perf/util/db-export.c | 13 +-
tools/perf/util/db-export.h | 3 +-
tools/perf/util/debuginfo.c | 9 +-
tools/perf/util/disasm.c | 7 +-
tools/perf/util/dlfilter.c | 2 +-
tools/perf/util/dso.c | 67 +-
tools/perf/util/dso.h | 14 +-
tools/perf/util/dwarf-aux.c | 39 +-
tools/perf/util/dwarf-aux.h | 5 +
tools/perf/util/env.c | 378 +-
tools/perf/util/env.h | 27 +-
tools/perf/util/event.c | 15 +-
tools/perf/util/evlist.c | 10 +-
tools/perf/util/evsel.c | 399 +-
tools/perf/util/evsel.h | 57 +-
tools/perf/util/evsel_fprintf.c | 6 +-
tools/perf/util/expr.c | 26 +-
tools/perf/util/expr.h | 6 +-
tools/perf/util/expr.l | 1 +
tools/perf/util/expr.y | 24 +-
tools/perf/util/header.c | 683 +-
tools/perf/util/hist.c | 35 +-
tools/perf/util/hist.h | 4 +-
tools/perf/util/hwmon_pmu.c | 36 +-
tools/perf/util/intel-bts.c | 3 +-
.../util/intel-pt-decoder/intel-pt-insn-decoder.c | 11 +-
tools/perf/util/intel-pt.c | 39 +-
tools/perf/util/intel-tpebs.c | 95 +-
tools/perf/util/jitdump.c | 6 +-
tools/perf/util/jitdump.h | 3 +-
tools/perf/util/kvm-stat-arch/kvm-stat-arm64.c | 19 +-
tools/perf/util/kvm-stat-arch/kvm-stat-loongarch.c | 17 +-
tools/perf/util/kvm-stat-arch/kvm-stat-powerpc.c | 17 +-
tools/perf/util/kvm-stat-arch/kvm-stat-riscv.c | 17 +-
tools/perf/util/kvm-stat-arch/kvm-stat-s390.c | 20 +-
tools/perf/util/kvm-stat-arch/kvm-stat-x86.c | 70 +-
tools/perf/util/kvm-stat.c | 19 +-
tools/perf/util/kvm-stat.h | 18 +-
tools/perf/util/kwork.h | 19 +-
tools/perf/util/libdw.c | 72 +-
tools/perf/util/libunwind-arch/Build | 11 +
tools/perf/util/libunwind-arch/libunwind-arch.c | 319 +
tools/perf/util/libunwind-arch/libunwind-arch.h | 296 +
tools/perf/util/libunwind-arch/libunwind-arm.c | 290 +
tools/perf/util/libunwind-arch/libunwind-arm64.c | 289 +
tools/perf/util/libunwind-arch/libunwind-i386.c | 312 +
.../perf/util/libunwind-arch/libunwind-loongarch.c | 297 +
tools/perf/util/libunwind-arch/libunwind-mips.c | 299 +
tools/perf/util/libunwind-arch/libunwind-ppc32.c | 303 +
tools/perf/util/libunwind-arch/libunwind-ppc64.c | 303 +
tools/perf/util/libunwind-arch/libunwind-riscv.c | 297 +
tools/perf/util/libunwind-arch/libunwind-s390.c | 299 +
tools/perf/util/libunwind-arch/libunwind-x86_64.c | 320 +
tools/perf/util/libunwind/arm64.c | 40 -
tools/perf/util/libunwind/x86_32.c | 41 -
tools/perf/util/lock-contention.c | 6 +-
tools/perf/util/machine.c | 135 +-
tools/perf/util/machine.h | 7 +-
tools/perf/util/maps.c | 182 +-
tools/perf/util/maps.h | 7 +-
tools/perf/util/metricgroup.c | 14 +-
tools/perf/util/mmap.c | 20 +-
tools/perf/util/parse-events.c | 27 +
tools/perf/util/perf-regs-arch/perf_regs_riscv.c | 128 +
tools/perf/util/perf_event_attr_fprintf.c | 141 +-
tools/perf/util/perf_regs.c | 3 +
tools/perf/util/perf_regs.h | 1 +
tools/perf/util/pmu.c | 71 +-
tools/perf/util/pmus.c | 18 +-
tools/perf/util/pmus.h | 1 +
tools/perf/util/print_insn.c | 23 +-
tools/perf/util/print_insn.h | 7 +-
tools/perf/util/probe-event.c | 4 +-
tools/perf/util/probe-finder.c | 102 +-
tools/perf/util/s390-sample-raw.c | 31 +-
tools/perf/util/sample-raw.c | 21 +-
tools/perf/util/sample-raw.h | 6 +-
tools/perf/util/sample.h | 2 +
.../perf/util/scripting-engines/trace-event-perl.c | 25 +-
.../util/scripting-engines/trace-event-python.c | 79 +-
tools/perf/util/session.c | 1441 +++-
tools/perf/util/session.h | 2 +
tools/perf/util/setup.py | 13 +-
tools/perf/util/sort.c | 66 +-
tools/perf/util/srcline.c | 19 +-
tools/perf/util/srcline.h | 1 +
tools/perf/util/stat-display.c | 26 +-
tools/perf/util/stat-shadow.c | 6 +-
tools/perf/util/svghelper.c | 10 +-
tools/perf/util/symbol-elf.c | 136 +-
tools/perf/util/symbol-minimal.c | 16 +-
tools/perf/util/symbol.c | 261 +-
tools/perf/util/symbol.h | 95 +-
tools/perf/util/symbol_conf.h | 10 +
tools/perf/util/symbol_fprintf.c | 4 +-
tools/perf/util/synthetic-events.c | 99 +-
tools/perf/util/synthetic-events.h | 8 +-
tools/perf/util/thread.c | 95 +-
tools/perf/util/thread.h | 23 +-
tools/perf/util/tool.c | 61 +-
tools/perf/util/tool.h | 4 +-
tools/perf/util/tool_pmu.c | 250 +-
tools/perf/util/tool_pmu.h | 4 +
tools/perf/util/trace-event-scripting.c | 5 +-
tools/perf/util/trace-event.h | 3 -
tools/perf/util/tsc.c | 2 +-
tools/perf/util/unwind-libdw.c | 20 +-
tools/perf/util/unwind-libunwind-local.c | 831 --
tools/perf/util/unwind-libunwind.c | 699 +-
tools/perf/util/unwind.c | 104 +
tools/perf/util/unwind.h | 73 +-
tools/perf/util/util.c | 12 +-
tools/perf/util/zstd.c | 47 +-
392 files changed, 36587 insertions(+), 9669 deletions(-)
rename tools/build/feature/{test-libbabeltrace.c => test-babeltrace2-ctf-writer.c} (59%)
delete mode 100644 tools/build/feature/test-libunwind-aarch64.c
delete mode 100644 tools/build/feature/test-libunwind-arm.c
delete mode 100644 tools/build/feature/test-libunwind-debug-frame-aarch64.c
delete mode 100644 tools/build/feature/test-libunwind-debug-frame-arm.c
delete mode 100644 tools/build/feature/test-libunwind-x86.c
delete mode 100644 tools/build/feature/test-libunwind-x86_64.c
create mode 100644 tools/lib/perf/TODO
create mode 100644 tools/perf/.clang-format
delete mode 100644 tools/perf/arch/arm/util/unwind-libunwind.c
delete mode 100644 tools/perf/arch/arm64/util/machine.c
delete mode 100644 tools/perf/arch/arm64/util/unwind-libunwind.c
delete mode 100644 tools/perf/arch/loongarch/util/unwind-libunwind.c
delete mode 100644 tools/perf/arch/mips/Build
delete mode 100644 tools/perf/arch/mips/util/Build
delete mode 100644 tools/perf/arch/mips/util/unwind-libunwind.c
delete mode 100644 tools/perf/arch/powerpc/util/unwind-libunwind.c
delete mode 100644 tools/perf/arch/x86/util/unwind-libunwind.c
rename tools/perf/{util => bench}/bpf_skel/bench_uprobe.bpf.c (100%)
create mode 100644 tools/perf/bpf_skel.mak
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/cwf-metrics.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/uncore-cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/uncore-cxl.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/uncore-interconnect.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/uncore-io.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/uncore-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/uncore-power.json
delete mode 100644 tools/perf/tests/shell/coresight/Makefile
delete mode 100644 tools/perf/tests/shell/coresight/Makefile.miniconfig
delete mode 100755 tools/perf/tests/shell/coresight/asm_pure_loop.sh
delete mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/.gitignore
delete mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/Makefile
delete mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/asm_pure_loop.S
create mode 100755 tools/perf/tests/shell/coresight/concurrent_threads.sh
create mode 100755 tools/perf/tests/shell/coresight/context_switch_thread.sh
create mode 100755 tools/perf/tests/shell/coresight/deterministic.sh
delete mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/.gitignore
delete mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/Makefile
delete mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/memcpy_thread.c
delete mode 100755 tools/perf/tests/shell/coresight/memcpy_thread_16k_10.sh
create mode 100755 tools/perf/tests/shell/coresight/raw_dump_stress.sh
rename tools/perf/tests/shell/{ => coresight}/test_arm_coresight.sh (83%)
rename tools/perf/tests/shell/{ => coresight}/test_arm_coresight_disasm.sh (65%)
delete mode 100644 tools/perf/tests/shell/coresight/thread_loop/.gitignore
delete mode 100644 tools/perf/tests/shell/coresight/thread_loop/Makefile
delete mode 100644 tools/perf/tests/shell/coresight/thread_loop/thread_loop.c
delete mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_10.sh
delete mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_2.sh
delete mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/.gitignore
delete mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/Makefile
delete mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/unroll_loop_thread.c
delete mode 100755 tools/perf/tests/shell/coresight/unroll_loop_thread_10.sh
create mode 100755 tools/perf/tests/shell/data_file_offset_diagnostics.sh
create mode 100755 tools/perf/tests/shell/data_validation.sh
create mode 100755 tools/perf/tests/shell/inject_aslr.sh
delete mode 100644 tools/perf/tests/shell/lib/coresight.sh
create mode 100755 tools/perf/tests/shell/stat_metrics_cgrp.sh
create mode 100755 tools/perf/tests/shell/test_test_junit_output.sh
create mode 100644 tools/perf/tests/uncore-event-sorting.c
create mode 100644 tools/perf/tests/workloads/context_switch_loop.c
create mode 100644 tools/perf/tests/workloads/deterministic.c
create mode 100644 tools/perf/tests/workloads/jitdump.c
create mode 100644 tools/perf/tests/workloads/named_threads.c
create mode 100644 tools/perf/trace/beauty/fsconfig.c
rename tools/perf/{util => trace/beauty}/syscalltbl.c (100%)
rename tools/perf/{util => trace/beauty}/syscalltbl.h (100%)
create mode 100644 tools/perf/util/aslr.c
create mode 100644 tools/perf/util/aslr.h
create mode 100644 tools/perf/util/libunwind-arch/Build
create mode 100644 tools/perf/util/libunwind-arch/libunwind-arch.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-arch.h
create mode 100644 tools/perf/util/libunwind-arch/libunwind-arm.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-arm64.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-i386.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-loongarch.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-mips.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-ppc32.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-ppc64.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-riscv.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-s390.c
create mode 100644 tools/perf/util/libunwind-arch/libunwind-x86_64.c
delete mode 100644 tools/perf/util/libunwind/arm64.c
delete mode 100644 tools/perf/util/libunwind/x86_32.c
delete mode 100644 tools/perf/util/unwind-libunwind-local.c
create mode 100644 tools/perf/util/unwind.c
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-22 19:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-22 19:21 [PATCHES 000/343] perf tools improvements and fixes for v7.2 Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox