mirror-linux/tools/perf/util
Linus Torvalds 9e906a9dea [GIT PULL] perf tools changes for v6.19
Perf event/metric description
 -----------------------------
 Unify all event and metric descriptions in JSON format.
 Now event parsing and handling is greatly simplified by that.
 
 From users point of view, perf list will provide richer
 information about hardware events like the following.
 
     $ perf list hw
 
     List of pre-defined events (to be used in -e or -M):
 
     legacy hardware:
       branch-instructions
            [Retired branch instructions [This event is an alias of branches]. Unit: cpu]
       branch-misses
            [Mispredicted branch instructions. Unit: cpu]
       branches
            [Retired branch instructions [This event is an alias of branch-instructions]. Unit: cpu]
       bus-cycles
            [Bus cycles,which can be different from total cycles. Unit: cpu]
       cache-misses
            [Cache misses. Usually this indicates Last Level Cache misses; this is intended to be used in conjunction with the
             PERF_COUNT_HW_CACHE_REFERENCES event to calculate cache miss rates. Unit: cpu]
       cache-references
            [Cache accesses. Usually this indicates Last Level Cache accesses but this may vary depending on your CPU. This may include
             prefetches and coherency messages; again this depends on the design of your CPU. Unit: cpu]
       cpu-cycles
            [Total cycles. Be wary of what happens during CPU frequency scaling [This event is an alias of cycles]. Unit: cpu]
       cycles
            [Total cycles. Be wary of what happens during CPU frequency scaling [This event is an alias of cpu-cycles]. Unit: cpu]
       instructions
            [Retired instructions. Be careful,these can be affected by various issues,most notably hardware interrupt counts. Unit: cpu]
       ref-cycles
            [Total cycles; not affected by CPU frequency scaling. Unit: cpu]
 
 But most notable changes would be in the perf stat.  On the right side,
 the default metrics are better named and aligned. :)
 
     $ perf stat -- perf test -w noploop
 
      Performance counter stats for 'perf test -w noploop':
 
                     11      context-switches                 #     10.8 cs/sec  cs_per_second
                      0      cpu-migrations                   #      0.0 migrations/sec  migrations_per_second
                  3,612      page-faults                      #   3532.5 faults/sec  page_faults_per_second
               1,022.51 msec task-clock                       #      1.0 CPUs  CPUs_utilized
                110,466      branch-misses                    #      0.0 %  branch_miss_rate         (88.66%)
          6,934,452,104      branches                         #   6781.8 M/sec  branch_frequency     (88.66%)
          4,657,032,590      cpu-cycles                       #      4.6 GHz  cycles_frequency       (88.65%)
         27,755,874,218      instructions                     #      6.0 instructions  insn_per_cycle  (89.03%)
                             TopdownL1                        #      0.3 %  tma_backend_bound
                                                              #      9.3 %  tma_bad_speculation      (89.05%)
                                                              #      9.7 %  tma_frontend_bound       (77.86%)
                                                              #     80.7 %  tma_retiring             (88.81%)
 
            1.025318171 seconds time elapsed
 
            1.013248000 seconds user
            0.012014000 seconds sys
 
 Deferred unwinding support
 --------------------------
 With the kernel support [1], perf can use deferred callchains for
 userspace stack trace with frame pointers like below:
 
     $ perf record --call-graph fp,defer ...
 
 This will be transparent to users when it comes to other commands like
 perf report and perf script.  They will merge the deferred callchains to
 the previous samples as if they were collected together.
 
 [1] https://git.kernel.org/torvalds/c/c69993ecdd4dfde2b7da08b022052a33b203da07
 
 ARM SPE updates
 ---------------
 * Extensive enhancements to support various kinds of memory operations
   including GCS, MTE allocation tags, memcpy/memset, register access,
   and SIMD operations.
 
 * Add inverted data source filter (inv_data_src_filter) support to
   exclude certain data sources.
 
 * Improve documentation.
 
 Vendor event updates
 --------------------
 * Intel: Updated event files for Sierra Forest, Panther Lake, Meteor Lake,
          Lunar Lake, Granite Rapids, and others.
 
 * Arm64: Added metrics for i.MX94 DDR PMU and Cortex-A720AE definitions.
 
 * RISC-V: Added JSON support for T-HEAD C920V2.
 
 Misc
 ----
 * Improve pointer tracking in data type profiling.  It'd give better
   output when the variable is using container_of() to convert type.
 
 * Annotation support for perf c2c report in TUI.  Press 'a' key to
   enter annotation view from cacheline browser window.  This will show
   which instruction is causing the cacheline contention.
 
 * Lots of fixes and test coverage improvements!
 
 Signed-off-by: Namhyung Kim <namhyung@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSo2x5BnqMqsoHtzsmMstVUGiXMgwUCaTUiWgAKCRCMstVUGiXM
 gzO3AQCaPM1/xAOtZ3Z21QEBrP+A0yFhmWMkI54IqZLsFl6qzQD/fvuorMblR+9W
 Nlr0Yyyo3zWnl2CD6s6AraIcLR5gVQs=
 =mjYC
 -----END PGP SIGNATURE-----

Merge tag 'perf-tools-for-v6.19-2025-12-06' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

Pull perf tools updates from Namhyung Kim:
 "Perf event/metric description:

  Unify all event and metric descriptions in JSON format. Now event
  parsing and handling is greatly simplified by that.

  From users point of view, perf list will provide richer information
  about hardware events like the following.

    $ perf list hw

    List of pre-defined events (to be used in -e or -M):

    legacy hardware:
      branch-instructions
           [Retired branch instructions [This event is an alias of branches]. Unit: cpu]
      branch-misses
           [Mispredicted branch instructions. Unit: cpu]
      branches
           [Retired branch instructions [This event is an alias of branch-instructions]. Unit: cpu]
      bus-cycles
           [Bus cycles,which can be different from total cycles. Unit: cpu]
      cache-misses
           [Cache misses. Usually this indicates Last Level Cache misses; this is intended to be used in conjunction with the
            PERF_COUNT_HW_CACHE_REFERENCES event to calculate cache miss rates. Unit: cpu]
      cache-references
           [Cache accesses. Usually this indicates Last Level Cache accesses but this may vary depending on your CPU. This may include
            prefetches and coherency messages; again this depends on the design of your CPU. Unit: cpu]
      cpu-cycles
           [Total cycles. Be wary of what happens during CPU frequency scaling [This event is an alias of cycles]. Unit: cpu]
      cycles
           [Total cycles. Be wary of what happens during CPU frequency scaling [This event is an alias of cpu-cycles]. Unit: cpu]
      instructions
           [Retired instructions. Be careful,these can be affected by various issues,most notably hardware interrupt counts. Unit: cpu]
      ref-cycles
           [Total cycles; not affected by CPU frequency scaling. Unit: cpu]

  But most notable changes would be in the perf stat. On the right side,
  the default metrics are better named and aligned. :)

    $ perf stat -- perf test -w noploop

     Performance counter stats for 'perf test -w noploop':

                    11      context-switches                 #     10.8 cs/sec  cs_per_second
                     0      cpu-migrations                   #      0.0 migrations/sec  migrations_per_second
                 3,612      page-faults                      #   3532.5 faults/sec  page_faults_per_second
              1,022.51 msec task-clock                       #      1.0 CPUs  CPUs_utilized
               110,466      branch-misses                    #      0.0 %  branch_miss_rate         (88.66%)
         6,934,452,104      branches                         #   6781.8 M/sec  branch_frequency     (88.66%)
         4,657,032,590      cpu-cycles                       #      4.6 GHz  cycles_frequency       (88.65%)
        27,755,874,218      instructions                     #      6.0 instructions  insn_per_cycle  (89.03%)
                            TopdownL1                        #      0.3 %  tma_backend_bound
                                                             #      9.3 %  tma_bad_speculation      (89.05%)
                                                             #      9.7 %  tma_frontend_bound       (77.86%)
                                                             #     80.7 %  tma_retiring             (88.81%)

           1.025318171 seconds time elapsed

           1.013248000 seconds user
           0.012014000 seconds sys

  Deferred unwinding support:

  With the kernel support (commit c69993ecdd4d: "perf: Support deferred
  user unwind"), perf can use deferred callchains for userspace stack
  trace with frame pointers like below:

    $ perf record --call-graph fp,defer ...

  This will be transparent to users when it comes to other commands like
  perf report and perf script. They will merge the deferred callchains
  to the previous samples as if they were collected together.

  ARM SPE updates

   - Extensive enhancements to support various kinds of memory
     operations including GCS, MTE allocation tags, memcpy/memset,
     register access, and SIMD operations.

   - Add inverted data source filter (inv_data_src_filter) support to
     exclude certain data sources.

   - Improve documentation.

  Vendor event updates:

   - Intel: Updated event files for Sierra Forest, Panther Lake, Meteor
     Lake, Lunar Lake, Granite Rapids, and others.

   - Arm64: Added metrics for i.MX94 DDR PMU and Cortex-A720AE
     definitions.

   - RISC-V: Added JSON support for T-HEAD C920V2.

  Misc:

   - Improve pointer tracking in data type profiling. It'd give better
     output when the variable is using container_of() to convert type.

   - Annotation support for perf c2c report in TUI. Press 'a' key to
     enter annotation view from cacheline browser window. This will show
     which instruction is causing the cacheline contention.

   - Lots of fixes and test coverage improvements!"

* tag 'perf-tools-for-v6.19-2025-12-06' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (214 commits)
  libperf: Use 'extern' in LIBPERF_API visibility macro
  perf stat: Improve handling of termination by signal
  perf tests stat: Add test for error for an offline CPU
  perf stat: When no events, don't report an error if there is none
  perf tests stat: Add "--null" coverage
  perf cpumap: Add "any" CPU handling to cpu_map__snprint_mask
  libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map
  perf stat: Allow no events to open if this is a "--null" run
  perf test kvm: Add some basic perf kvm test coverage
  perf tests evlist: Add basic evlist test
  perf tests script dlfilter: Add a dlfilter test
  perf tests kallsyms: Add basic kallsyms test
  perf tests timechart: Add a perf timechart test
  perf tests top: Add basic perf top coverage test
  perf tests buildid: Add purge and remove testing
  perf tests c2c: Add a basic c2c
  perf c2c: Clean up some defensive gets and make asan clean
  perf jitdump: Fix missed dso__put
  perf mem-events: Don't leak online CPU map
  perf hist: In init, ensure mem_info is put on error paths
  ...
2025-12-07 07:07:02 -08:00
..
arm-spe-decoder perf arm_spe: Expose SIMD information in other operations 2025-11-18 20:31:30 -08:00
bpf_skel perf trace: Increase syscall handler map size to 1024 2025-10-31 12:29:44 -07:00
cs-etm-decoder perf build: Remove NO_AUXTRACE build option 2025-11-13 23:03:11 -08:00
hisi-ptt-decoder perf build: Remove NO_AUXTRACE build option 2025-11-13 23:03:11 -08:00
include kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI 2025-09-24 14:29:14 -07:00
intel-pt-decoder perf build: Remove NO_AUXTRACE build option 2025-11-13 23:03:11 -08:00
libunwind
perf-regs-arch perf util: Make util its own library 2024-06-26 11:07:42 -07:00
scripting-engines perf build: Disable thread safety analysis for perl header 2025-10-06 16:49:25 -03:00
Build perf build: Remove NO_AUXTRACE build option 2025-11-13 23:03:11 -08:00
PERF-VERSION-GEN
addr2line.c perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
addr2line.h perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
addr_location.c perf report: Add machine parallelism 2025-02-17 22:00:50 -08:00
addr_location.h perf report: Add latency output field 2025-02-18 14:04:32 -08:00
affinity.c perf test: Expand user space event reading (rdpmc) tests 2025-06-20 13:14:07 -07:00
affinity.h perf test: Expand user space event reading (rdpmc) tests 2025-06-20 13:14:07 -07:00
amd-sample-raw.c perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
annotate-data.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
annotate-data.h perf annotate: Save pointer offset in stack state 2025-10-21 06:02:49 -07:00
annotate.c perf annotate: Skip annotating data types to lea instructions 2025-10-21 06:02:49 -07:00
annotate.h perf annotate: fix a crash when annotate the same symbol with 's' and 'T' 2025-10-21 05:42:01 -07:00
archinsn.h
arm-spe.c perf arm_spe: Add CPU variants supporting common data source packet 2025-12-03 11:01:12 -08:00
arm-spe.h perf arm_spe: Add "event_filter" entry in meta data 2025-09-19 12:14:28 -03:00
arm64-frame-pointer-unwind-support.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
arm64-frame-pointer-unwind-support.h
auxtrace.c perf tool: Add the perf_tool argument to all callbacks 2025-11-07 13:25:05 -08:00
auxtrace.h perf auxtrace: Include sys/types.h for pid_t 2025-12-03 11:01:05 -08:00
block-info.c perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-info.h perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-range.c
block-range.h
bpf-event.c perf bpf-event: Use libbpf version rather than feature check 2025-10-03 16:49:51 -03:00
bpf-event.h perf record: collect BPF metadata from new programs 2025-06-20 14:48:49 -07:00
bpf-filter.c perf bpf: Move the LIBBPF_CURRENT_VERSION_GEQ macro to bpf-utils.h 2025-09-30 13:36:03 -03:00
bpf-filter.h perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
bpf-filter.l perf bpf-filter: Fix a parsing error with comma 2025-03-24 17:29:58 -07:00
bpf-filter.y perf bpf-filter: Support filtering on cgroups 2024-08-28 18:21:49 -03:00
bpf-trace-summary.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
bpf-utils.c perf bpf-utils: Harden get_bpf_prog_info_linear 2025-09-02 14:55:32 -07:00
bpf-utils.h perf bpf-event: Use libbpf version rather than feature check 2025-10-03 16:49:51 -03:00
bpf_counter.c perf bpf_counter: Fix opening of "any"(-1) CPU events 2025-10-13 01:58:51 -07:00
bpf_counter.h perf bpf_counter: Move header declarations into C code 2025-10-01 15:27:02 -03:00
bpf_counter_cgroup.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
bpf_ftrace.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
bpf_kwork.c perf kwork: Make perf_kwork_add_work a callback 2024-12-18 16:24:33 -03:00
bpf_kwork_top.c perf kwork: Make perf_kwork_add_work a callback 2024-12-18 16:24:33 -03:00
bpf_lock_contention.c perf lock contention: Load kernel map before lookup 2025-10-31 11:32:51 -07:00
bpf_map.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
bpf_map.h
bpf_off_cpu.c perf bpf_counter: Move header declarations into C code 2025-10-01 15:27:02 -03:00
bpf_trace_augment.c perf trace: Split BPF skel code to util/bpf_trace_augment.c 2025-06-26 10:31:05 -07:00
branch.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
branch.h perf script: Add not taken event for branch stack 2025-03-05 09:13:19 -08:00
btf.c perf btf: Make the sigtrap test helper to find a member by name widely available 2024-12-09 17:52:41 -03:00
btf.h perf btf: Make the sigtrap test helper to find a member by name widely available 2024-12-09 17:52:41 -03:00
build-id.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
build-id.h perf build-id: Change sprintf functions to snprintf 2025-07-25 10:37:13 -07:00
cache.h
cacheline.c
cacheline.h
call-path.c
call-path.h
callchain.c perf tools: Merge deferred user callchains 2025-12-02 21:59:14 -08:00
callchain.h perf tools: Merge deferred user callchains 2025-12-02 21:59:14 -08:00
cap.c perf bpf-filter: Improve error messages 2025-06-09 11:18:17 -07:00
cap.h perf bpf-filter: Improve error messages 2025-06-09 11:18:17 -07:00
capstone.c perf dso: Clean up read_symbol() error handling 2025-10-06 16:35:28 -03:00
capstone.h perf capstone: Move capstone functionality into its own file 2025-10-02 15:36:59 -03:00
cgroup.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
cgroup.h perf stat: Move metric list from config to evlist 2025-07-11 12:36:40 -07:00
clockid.c
clockid.h
cloexec.c
cloexec.h
color.c perf tools: Remove unused color_fwrite_lines 2024-10-10 23:38:33 -07:00
color.h perf util: Remove unused perf_color_default_config 2025-03-10 11:31:24 -07:00
color_config.c perf util: Remove unused perf_color_default_config 2025-03-10 11:31:24 -07:00
comm.c perf thread: Ensure comm_lock held for comm_list 2025-06-11 13:40:31 -07:00
comm.h
compress.h perf tools: Add LZMA decompression from FILE 2025-03-10 14:37:02 -07:00
config.c perf stat: Reduce scope of walltime_nsecs_stats 2025-11-17 18:43:09 -08:00
config.h perf util: Remove unused perf_config__refresh 2025-03-10 11:31:24 -07:00
copyfile.c
copyfile.h
counts.c
counts.h
cpu-set-sched.h
cpumap.c perf cpumap: Add "any" CPU handling to cpu_map__snprint_mask 2025-12-04 00:36:14 -08:00
cpumap.h perf cpumap: Remove refcnt from 'struct cpu_aggr_map' 2024-05-07 18:06:44 -03:00
cputopo.c
cputopo.h
cs-etm-base.c
cs-etm.c perf sample: Fix the wrong format specifier 2025-11-16 23:12:19 -08:00
cs-etm.h perf: cs-etm: Create decoders based on the trace ID mappings 2024-08-29 15:55:24 -03:00
data-convert-bt.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
data-convert-json.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
data-convert.h
data.c perf util: Remove unused perf_data__update_dir 2025-03-10 11:31:24 -07:00
data.h perf util: Remove unused perf_data__update_dir 2025-03-10 11:31:24 -07:00
db-export.c perf script: perf script tests fails with segfault 2025-06-09 21:38:08 -07:00
db-export.h
debug.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
debug.h perf debug: Add function symbols to dump_stack 2025-06-25 10:59:19 -07:00
debuginfo.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
debuginfo.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
demangle-cxx.cpp
demangle-cxx.h perf symbol: Move demangling code out of symbol-elf.c 2025-05-28 19:02:58 -03:00
demangle-java.c
demangle-java.h
demangle-ocaml.c
demangle-ocaml.h
demangle-rust-v0.c perf demangle-rust: Add rustc-demangle C demangler 2025-05-09 17:00:05 -03:00
demangle-rust-v0.h perf demangle-rust: Add rustc-demangle C demangler 2025-05-09 17:00:05 -03:00
disasm.c perf disasm: Make ins__scnprintf() and ins__is_nop() static 2025-10-06 16:35:29 -03:00
disasm.h perf disasm: Remove unused evsel from 'struct annotate_args' 2025-10-06 16:47:51 -03:00
dlfilter.c perf sample: Remove arch notion of sample parsing 2025-07-25 10:37:58 -07:00
dlfilter.h
drm_pmu.c perf pmu: perf_cpu_map__new_int to avoid parsing a string 2025-11-17 18:43:08 -08:00
drm_pmu.h perf drm_pmu: Add a tool like PMU to expose DRM information 2025-06-25 11:12:35 -07:00
dso.c perf dso: Clean up read_symbol() error handling 2025-10-06 16:35:28 -03:00
dso.h perf dso: Move read_symbol() from llvm/capstone to dso 2025-10-06 16:35:25 -03:00
dsos.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
dsos.h perf dso: Constify dso_id 2024-08-19 14:52:13 -03:00
dump-insn.c perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
dump-insn.h perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
dwarf-aux.c perf dwarf-aux: Fix __die_find_scope_cb() for namespaces 2025-09-19 12:14:30 -03:00
dwarf-aux.h perf dwarf-aux: Better variable collection for insn tracking 2025-09-19 12:14:30 -03:00
dwarf-regs-csky.c perf dwarf-regs: Move csky dwarf-regs out of arch 2024-11-09 08:39:13 -08:00
dwarf-regs-powerpc.c perf dwarf-regs: Move powerpc dwarf-regs out of arch 2024-11-09 08:39:13 -08:00
dwarf-regs-x86.c perf dwarf-regs: Move x86 dwarf-regs out of arch 2024-11-09 08:39:13 -08:00
dwarf-regs.c perf dwarf-regs: Remove get_arch_regstr code 2024-11-09 08:39:14 -08:00
env.c perf tools: Add helper x86__is_intel_cpu() 2025-10-02 15:31:14 -03:00
env.h perf tools: Add helper x86__is_intel_cpu() 2025-10-02 15:31:14 -03:00
event.c perf tools: Minimal DEFERRED_CALLCHAIN support 2025-12-02 16:13:32 -08:00
event.h perf script: Enable to present DTL entries 2025-10-01 11:22:05 -03:00
events_stats.h perf report: Add latency output field 2025-02-18 14:04:32 -08:00
evlist.c perf tools: Merge deferred user callchains 2025-12-02 21:59:14 -08:00
evlist.h perf tools: Merge deferred user callchains 2025-12-02 21:59:14 -08:00
evsel.c perf record: Add --call-graph fp,defer option for deferred callchains 2025-12-02 21:59:13 -08:00
evsel.h perf record: Add --call-graph fp,defer option for deferred callchains 2025-12-02 21:59:13 -08:00
evsel_config.h perf record: Add ratio-to-prev term 2025-10-03 16:49:51 -03:00
evsel_fprintf.c perf script: Display PERF_RECORD_CALLCHAIN_DEFERRED 2025-12-02 21:59:14 -08:00
evsel_fprintf.h
evswitch.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
evswitch.h
expr.c perf tool_pmu: Make core_wide and target_cpu json events 2025-11-11 16:48:36 -08:00
expr.h
expr.l perf expr: Allow NaN to be a valid number 2024-02-13 13:47:08 -08:00
expr.y
find-map.c
fncache.c perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
fncache.h perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
ftrace.h perf: ftrace: add graph tracer options args/retval/retval-hex/retaddr 2025-07-22 17:47:22 -07:00
genelf.c perf jitdump: Add sym/str-tables to build-ID generation 2025-12-02 16:06:57 -08:00
genelf.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
genelf_debug.c
generate-cmdlist.sh perf tools: Remove dependency on libaudit 2025-01-10 10:59:42 -03:00
hashmap.c
hashmap.h perf tools: Fix possible compiler warnings in hashmap 2024-10-14 12:04:31 -07:00
header.c [GIT PULL] perf tools changes for v6.19 2025-12-07 07:07:02 -08:00
header.h perf tool: Add the perf_tool argument to all callbacks 2025-11-07 13:25:05 -08:00
help-unknown-cmd.c perf help: Lower levenshtein penality for deleting character 2024-03-21 13:54:40 -03:00
help-unknown-cmd.h
hisi-ptt.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
hisi-ptt.h
hist.c perf hist: In init, ensure mem_info is put on error paths 2025-12-03 11:07:40 -08:00
hist.h perf annotate: Fix build with NO_SLANG=1 2025-10-21 05:36:02 -07:00
hwmon_pmu.c perf pmu: perf_cpu_map__new_int to avoid parsing a string 2025-11-17 18:43:08 -08:00
hwmon_pmu.h perf tools: Fix duplicated words in documentation and comments 2025-10-01 09:44:02 -03:00
intel-bts.c perf auxtrace: Add auxtrace_synth_id_range_start() helper 2025-10-25 17:44:57 -07:00
intel-bts.h
intel-pt.c perf auxtrace: Add auxtrace_synth_id_range_start() helper 2025-10-25 17:44:57 -07:00
intel-pt.h
intel-tpebs.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
intel-tpebs.h perf stat: Add mean, min, max and last --tpebs-mode options 2025-04-25 12:31:36 -03:00
intlist.c
intlist.h
iostat.c
iostat.h
jit.h perf jit: Constify filename argument 2024-08-19 14:51:46 -03:00
jitdump.c perf jitdump: Fix missed dso__put 2025-12-03 11:07:46 -08:00
jitdump.h
kvm-stat.c perf kvm: Move functions used in util out of builtin 2024-12-18 16:24:32 -03:00
kvm-stat.h perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
kwork.h perf kwork: Make perf_kwork_add_work a callback 2024-12-18 16:24:33 -03:00
levenshtein.c
levenshtein.h
libbfd.c [GIT PULL] perf tools changes for v6.19 2025-12-07 07:07:02 -08:00
libbfd.h perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
llvm-c-helpers.cpp perf llvm-add2line: Remove unused symbol_conf.h include 2025-01-08 17:38:32 -03:00
llvm-c-helpers.h perf annotate: LLVM-based disassembler 2024-09-03 10:39:20 -03:00
llvm.c perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
llvm.h perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
lock-contention.c perf lock: Move common lock contention code to new file 2024-12-18 16:24:33 -03:00
lock-contention.h perf lock contention: Add -J/--inject-delay option 2025-05-09 14:32:15 -03:00
lzma.c perf util: Fix compression checks returning -1 as bool 2025-09-12 15:41:57 -03:00
machine.c perf tools: Minimal DEFERRED_CALLCHAIN support 2025-12-02 16:13:32 -08:00
machine.h perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
map.c perf map: Constify objdump offset/address conversion APIs 2025-10-02 15:36:13 -03:00
map.h perf map: Constify objdump offset/address conversion APIs 2025-10-02 15:36:13 -03:00
map_symbol.c perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
map_symbol.h perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
maps.c perf maps: Avoid RC_CHK use after free 2025-11-19 16:20:15 -08:00
maps.h perf maps: Locking tidy up of nr_maps 2024-02-12 12:35:41 -08:00
mem-events.c perf mem-events: Don't leak online CPU map 2025-12-03 11:07:46 -08:00
mem-events.h perf mem: Add 'dtlb' output field 2025-05-02 15:36:14 -03:00
mem-info.c perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
mem-info.h perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
mem2node.c
mem2node.h
memswap.c
memswap.h
metricgroup.c perf jevents: Add metric DefaultShowEvents 2025-11-11 16:48:35 -08:00
metricgroup.h perf metricgroup: Update comment on location of metric_event list 2025-11-03 20:57:21 -08:00
mmap.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
mmap.h perf tools: Deadcode removal 2025-02-10 11:46:02 -08:00
mutex.c perf libbfd: Ensure libbfd is initialized prior to use 2025-11-13 17:55:19 -03:00
mutex.h perf libbfd: Ensure libbfd is initialized prior to use 2025-11-13 17:55:19 -03:00
namespaces.c perf namespaces: Avoid get_current_dir_name dependency 2025-10-03 15:28:04 -03:00
namespaces.h perf namespaces: Fixup the nsinfo__in_pidns() return type, its bool 2025-01-08 17:31:06 -03:00
off_cpu.h perf record --off-cpu: Add --off-cpu-thresh option 2025-05-05 21:51:54 -03:00
ordered-events.c
ordered-events.h
parse-branch-options.c
parse-branch-options.h
parse-events.c perf tools: Add support for perf_event_attr::config4 2025-11-24 12:20:06 -08:00
parse-events.h perf tools: Add support for perf_event_attr::config4 2025-11-24 12:20:06 -08:00
parse-events.l perf tools: Add support for perf_event_attr::config4 2025-11-24 12:20:06 -08:00
parse-events.y perf parse-events: Remove hard coded legacy hardware and cache parsing 2025-10-15 23:59:11 +09:00
parse-regs-options.c perf parse-regs: Introduce a weak function arch__sample_reg_masks() 2024-02-15 13:48:36 -08:00
parse-regs-options.h
parse-sublevel-options.c
parse-sublevel-options.h
path.c perf path: Remove unused is_executable_file() 2024-12-23 13:53:08 -03:00
path.h perf path: Remove unused is_executable_file() 2024-12-23 13:53:08 -03:00
perf-hooks-list.h
perf-hooks.c
perf-hooks.h
perf_api_probe.c perf perf_api_probe: Avoid scanning all PMUs, try software PMU first 2025-10-15 23:59:10 +09:00
perf_api_probe.h
perf_event_attr_fprintf.c perf tools: Minimal DEFERRED_CALLCHAIN support 2025-12-02 16:13:32 -08:00
perf_regs.c perf parse-regs: Introduce a weak function arch__sample_reg_masks() 2024-02-15 13:48:36 -08:00
perf_regs.h perf parse-regs: Introduce a weak function arch__sample_reg_masks() 2024-02-15 13:48:36 -08:00
pfm.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
pfm.h
pmu.c perf tools: Remove a trailing newline in the event terms 2025-12-02 16:02:33 -08:00
pmu.h perf pmu: fix duplicate conditional statement 2025-11-26 09:57:13 -08:00
pmu.l
pmu.y
pmus.c perf list: Skip ABI PMUs when printing pmu values 2025-07-26 16:31:43 -07:00
pmus.h perf pmus: Factor perf_pmus__find_by_attr out of evsel__find_pmu 2025-07-24 13:41:35 -07:00
powerpc-vpadtl.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
powerpc-vpadtl.h perf powerpc: Process auxtrace events and display in 'perf report -D' 2025-10-01 11:22:04 -03:00
print-events.c perf print-events: Remove print_symbol_events 2025-10-15 23:59:11 +09:00
print-events.h perf print-events: Remove print_symbol_events 2025-10-15 23:59:11 +09:00
print_binary.c
print_binary.h
print_insn.c perf capstone: Move capstone functionality into its own file 2025-10-02 15:36:59 -03:00
print_insn.h perf annotate: Use capstone_init and remove open_capstone_handle from disasm.c 2024-07-31 16:12:59 -03:00
probe-event.c perf probe-event: Ensure probe event nsinfo is always cleared 2025-12-03 11:07:23 -08:00
probe-event.h perf probe: Replace unacceptable characters when generating event name 2024-12-10 15:41:10 -03:00
probe-file.c perf build-id: Change sprintf functions to snprintf 2025-07-25 10:37:13 -07:00
probe-file.h perf: Remove unused del_perf_probe_events() 2024-11-16 17:07:31 -03:00
probe-finder.c perf build-id: Ensure struct build_id is empty before use 2025-07-25 10:37:55 -07:00
probe-finder.h perf probe: Pick the correct dwarf die while adding probe points 2025-02-26 14:25:14 -08:00
pstack.c perf util: Remove unused pstack__pop 2025-03-10 11:31:24 -07:00
pstack.h perf util: Remove unused pstack__pop 2025-03-10 11:31:24 -07:00
python.c perf python: Correct copying of metric_leader in an evsel 2025-12-02 16:12:49 -08:00
rblist.c
rblist.h
record.c perf cpumap: Clean up use of perf_cpu_map__has_any_cpu_or_is_empty 2024-03-21 10:41:28 -03:00
record.h perf record --off-cpu: Add --off-cpu-thresh option 2025-05-05 21:51:54 -03:00
rlimit.c
rlimit.h
rwsem.c perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
rwsem.h perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
s390-cpumcf-kernel.h
s390-cpumsf-kernel.h
s390-cpumsf.c perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
s390-cpumsf.h
s390-sample-raw.c perf tools: Cache counter names for raw samples on s390 2025-10-31 12:46:19 -07:00
sample-raw.c perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
sample-raw.h perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
sample.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
sample.h perf tools: Minimal DEFERRED_CALLCHAIN support 2025-12-02 16:13:32 -08:00
session.c perf tools: Flush remaining samples w/o deferred callchains 2025-12-02 21:59:14 -08:00
session.h perf tool: Add the perf_tool argument to all callbacks 2025-11-07 13:25:05 -08:00
setns.c
setup.py perf build python: Don't leave a.out file when building with clang 2025-10-13 01:58:51 -07:00
sha1.c perf util: add a basic SHA-1 implementation 2025-06-26 10:51:40 -07:00
sha1.h perf util: add a basic SHA-1 implementation 2025-06-26 10:51:40 -07:00
sharded_mutex.c
sharded_mutex.h
sideband_evlist.c
smt.c
smt.h
sort.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
sort.h perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
spark.c perf spark: Fix includes and add SPDX 2025-07-11 12:36:40 -07:00
spark.h perf spark: Fix includes and add SPDX 2025-07-11 12:36:40 -07:00
srccode.c perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
srccode.h
srcline.c perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
srcline.h perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
stat-display.c perf stat: Display metric-only for 0 counters 2025-11-17 17:31:59 -08:00
stat-shadow.c perf stat: Reduce scope of walltime_nsecs_stats 2025-11-17 18:43:09 -08:00
stat.c perf tool: Add the perf_tool argument to all callbacks 2025-11-07 13:25:05 -08:00
stat.h perf stat: Reduce scope of walltime_nsecs_stats 2025-11-17 18:43:09 -08:00
strbuf.c
strbuf.h
stream.c perf stream: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
stream.h perf stream: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
strfilter.c
strfilter.h
string.c perf string: Avoid undefined NULL+1 2024-12-12 15:53:36 -03:00
string2.h perf string: Add strpbrk_esq() and strdup_esq() for escape and quote 2024-11-14 16:56:32 -03:00
strlist.c
strlist.h
svghelper.c perf cpumap: Reduce transitive dependencies on libperf MAX_NR_CPUS 2024-12-09 17:52:41 -03:00
svghelper.h
symbol-elf.c perf symbol-elf: Add missing puts on error path 2025-12-03 11:07:23 -08:00
symbol-minimal.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
symbol.c [GIT PULL] perf tools changes for v6.19 2025-12-07 07:07:02 -08:00
symbol.h perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
symbol_conf.h perf record: Make --buildid-mmap the default 2025-07-25 10:37:56 -07:00
symbol_fprintf.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
symsrc.h
synthetic-events.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
synthetic-events.h perf build: Remove NO_AUXTRACE build option 2025-11-13 23:03:11 -08:00
syscalltbl.c perf syscalltbl: Mask off ABI type for MIPS system calls 2025-03-20 22:58:23 -07:00
syscalltbl.h perf syscalltbl: Remove struct syscalltbl 2025-03-20 22:57:57 -07:00
target.c perf target: Remove uid from target 2025-06-09 11:18:18 -07:00
target.h perf target: Remove uid from target 2025-06-09 11:18:18 -07:00
term.c
term.h
thread-stack.c
thread-stack.h
thread.c perf thread: Ensure comm_lock held for comm_list 2025-06-11 13:40:31 -07:00
thread.h perf thread: Ensure comm_lock held for comm_list 2025-06-11 13:40:31 -07:00
thread_map.c perf thread_map: Remove uid options 2025-06-09 11:18:18 -07:00
thread_map.h perf thread_map: Remove uid options 2025-06-09 11:18:18 -07:00
threads.c perf tools: Remove unnecessary parentheses 2024-10-14 12:04:31 -07:00
threads.h perf threads: Reduce table size from 256 to 8 2024-03-03 22:52:13 -08:00
time-utils.c perf time-utils: Fix 32-bit nsec parsing 2024-09-03 11:21:55 -03:00
time-utils.h
tool.c perf tools: Merge deferred user callchains 2025-12-02 21:59:14 -08:00
tool.h perf tools: Merge deferred user callchains 2025-12-02 21:59:14 -08:00
tool_pmu.c perf tool_pmu: More accurately set the cpus for tool events 2025-11-17 18:43:09 -08:00
tool_pmu.h perf tool_pmu: More accurately set the cpus for tool events 2025-11-17 18:43:09 -08:00
top.c perf top: Switch user option to use BPF filter 2025-06-09 11:18:18 -07:00
top.h perf top: Switch user option to use BPF filter 2025-06-09 11:18:18 -07:00
topdown.c
topdown.h
tp_pmu.c perf tp_pmu: Remove unnecessary check 2025-09-03 12:34:55 -03:00
tp_pmu.h perf tp_pmu: Add event APIs 2025-07-26 16:31:43 -07:00
trace-event-info.c
trace-event-parse.c perf trace-event: Constify print arguments 2024-12-09 17:52:42 -03:00
trace-event-read.c perf build: Include libtraceevent headers directly indicated by pkg-config 2024-11-08 22:42:57 -08:00
trace-event-scripting.c perf script: Fix typo in branch event mask 2025-03-13 13:19:27 -07:00
trace-event.c perf build: Include libtraceevent headers directly indicated by pkg-config 2024-11-08 22:42:57 -08:00
trace-event.h perf script: Make printing flags reliable 2025-03-05 09:13:19 -08:00
trace.h perf trace: Add --max-summary option 2025-09-19 12:14:29 -03:00
trace_augment.h perf trace: Split BPF skel code to util/bpf_trace_augment.c 2025-06-26 10:31:05 -07:00
tracepoint.c perf tracepoint: Don't scan all tracepoints to test if one exists 2024-05-09 18:46:43 -03:00
tracepoint.h perf tracepoint: Don't scan all tracepoints to test if one exists 2024-05-09 18:46:43 -03:00
trigger.h
tsc.c perf tools: Fix typos Muliplier -> Multiplier 2024-11-13 16:27:35 -03:00
tsc.h perf tool_pmu: Move expr literals to tool_pmu 2024-10-10 23:40:32 -07:00
units.c perf units: Fix insufficient array space 2025-03-13 00:30:08 -07:00
units.h
unwind-libdw.c perf unwind-libdw: skip non-regular files 2025-06-24 10:27:50 -07:00
unwind-libdw.h
unwind-libunwind-local.c perf libunwind arm64: Fix missing close parens in an if statement 2025-04-10 17:51:31 -07:00
unwind-libunwind.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
unwind.h
usage.c
util.c perf util: Remove kernel version deadcode 2024-11-16 16:30:39 -03:00
util.h perf util: Remove kernel version deadcode 2024-11-16 16:30:39 -03:00
values.c perf values: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
values.h perf values: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
vdso.c perf vdso: Missed put on 32-bit dsos 2024-09-27 15:38:52 -03:00
vdso.h
zlib.c perf util: Fix compression checks returning -1 as bool 2025-09-12 15:41:57 -03:00
zstd.c