mirror_ubuntu-kernels/tools/perf/util
Linus Torvalds 29c73fc794 perf tools fixes and improvements for v6.10:
- Add Kan Liang to MAINTAINERS as a perf tools reviewer.
 
 - Add support for using the 'capstone' disassembler library in various tools,
   such as 'perf script' and 'perf annotate'. This is an alternative for the
   use of the 'xed' and 'objdump' disassemblers.
 
 - Data-type profiling improvements:
 
   Resolve types for a->b->c by backtracking the assignments until it finds
   DWARF info for one of those members
 
   Support for global variables, keeping a cache to speed up lookups.
 
   Handle the 'call' instruction, dealing with effects on registers and handling
   its return when tracking register data types.
 
   Handle x86's segment based addressing like %gs:0x28, to support things like
   per CPU variables, the stack canary, etc.
 
   Data-type profiling got big speedups when using capstone for disassembling.
   The objdump outoput parsing method is left as a fallback when capstone fails or
   isn't available. There are patches posted for 6.11 that to use a LLVM
   disassembler.
 
   Support event group display in the TUI when annotating types with --data-type,
   for instance to show memory load and store events for the data type fields.
 
   Optimize the 'perf annotate' data structures, reducing memory usage.
 
   Add a initial 'perf test' for 'perf annotate', checking that a target symbol
   appears on the output, specifying objdump via the command line, etc.
 
 - Integrate the shellcheck utility with the build of perf to allow catching
   shell problems early in areas such as 'perf test', 'perf trace' scrape
   scripts, etc.
 
 - Add 'uretprobe' variant in the 'perf bench uprobe' tool.
 
 - Add script to run instances of 'perf script' in parallel.
 
 - Allow parsing tracepoint names that start with digits, such as
   9p/9p_client_req, etc. Make sure 'perf test' tests it even on systems
   where those tracepoints aren't available.
 
 Vendor Events:
 
 - Update Intel JSON files for Cascade Lake X, Emerald Rapids, Grand Ridge, Ice
   Lake X, Lunar Lake, Meteor Lake, Sapphire Rapids, Sierra Forest, Sky Lake X,
   Sky Lake and Snow Ridge X.  Remove info metrics erroneously in TopdownL1.
 
 - Add AMD's Zen 5 core and uncore events and metrics. Those come from the
   "Performance Monitor Counters for AMD Family 1Ah Model 00h- 0Fh Processors"
   document, with events that capture information on op dispatch, execution and
   retirement, branch prediction, L1 and L2 cache activity, TLB activity, etc.
 
 - Mark L1D_CACHE_INVAL impacted by errata for ARM64's AmpereOne/AmpereOneX.
 
 Miscellaneous:
 
 - Sync header copies with the kernel sources.
 
 - Move some header copies used only for generating translation string tables
   for ioctl cmds and other syscall integer arguments to a new directory under
   tools/perf/beauty/, to separate from copies in tools/include/ that are used
   to build the tools.
 
 - Introduce scrape script for several syscall 'flags'/'mask' arguments.
 
 - Improve cpumap utilization, fixing up pairing of refcounts, using the right
   iterators (perf_cpu_map__for_each_cpu), etc.
 
 - Give more details about raw event encodings in 'perf list', show tracepoint
   encoding in the detailed output.
 
 - Refactor the DSOs handling code, reducing memory usage.
 
 - Document the BPF event modifier and add a 'perf test' for it.
 
 - Improve the event parser, better error messages and add further 'perf test's
   for it.
 
 - Add reference count checking to 'struct comm_str' and 'struct mem_info'.
 
 - Make ARM64's 'perf test' entries for the Neoverse N1 more robust.
 
 - Tweak the ARM64's Coresight 'perf test's.
 
 - Improve ARM64's CoreSight ETM version detection and error reporting.
 
 - Fix handling of symbols when using kcore.
 
 - Fix PAI (Processor Activity Instrumentation) counter names for s390 virtual
   machines in 'perf report'.
 
 - Fix -g/--call-graph option failure in 'perf sched timehist'.
 
 - Add LIBTRACEEVENT_DIR build option to allow building with libtraceevent
   installed in non-standard directories, such as when doing cross builds.
 
 - Various 'perf test' and 'perf bench' fixes.
 
 - Improve 'perf probe' error message for long C++ probe names.
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCZkzdjgAKCRCyPKLppCJ+
 J8ZYAP46rcbOuDWol6tjD9FDXd+spkWc40bnqeSnOR+TWlmJXwEA87XU4+3LAh6p
 HQxKXehJRh90I90yn954mK2NuN+58Q0=
 =sie+
 -----END PGP SIGNATURE-----

Merge tag 'perf-tools-for-v6.10-1-2024-05-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

Pull perf tools updates from Arnaldo Carvalho de Melo:
 "General:

   - Integrate the shellcheck utility with the build of perf to allow
     catching shell problems early in areas such as 'perf test', 'perf
     trace' scrape scripts, etc

   - Add 'uretprobe' variant in the 'perf bench uprobe' tool

   - Add script to run instances of 'perf script' in parallel

   - Allow parsing tracepoint names that start with digits, such as
     9p/9p_client_req, etc. Make sure 'perf test' tests it even on
     systems where those tracepoints aren't available

   - Add Kan Liang to MAINTAINERS as a perf tools reviewer

   - Add support for using the 'capstone' disassembler library in
     various tools, such as 'perf script' and 'perf annotate'. This is
     an alternative for the use of the 'xed' and 'objdump' disassemblers

  Data-type profiling improvements:

   - Resolve types for a->b->c by backtracking the assignments until it
     finds DWARF info for one of those members

   - Support for global variables, keeping a cache to speed up lookups

   - Handle the 'call' instruction, dealing with effects on registers
     and handling its return when tracking register data types

   - Handle x86's segment based addressing like %gs:0x28, to support
     things like per CPU variables, the stack canary, etc

   - Data-type profiling got big speedups when using capstone for
     disassembling. The objdump outoput parsing method is left as a
     fallback when capstone fails or isn't available. There are patches
     posted for 6.11 that to use a LLVM disassembler

   - Support event group display in the TUI when annotating types with
     --data-type, for instance to show memory load and store events for
     the data type fields

   - Optimize the 'perf annotate' data structures, reducing memory usage

   - Add a initial 'perf test' for 'perf annotate', checking that a
     target symbol appears on the output, specifying objdump via the
     command line, etc

  Vendor Events:

   - Update Intel JSON files for Cascade Lake X, Emerald Rapids, Grand
     Ridge, Ice Lake X, Lunar Lake, Meteor Lake, Sapphire Rapids, Sierra
     Forest, Sky Lake X, Sky Lake and Snow Ridge X. Remove info metrics
     erroneously in TopdownL1

   - Add AMD's Zen 5 core and uncore events and metrics. Those come from
     the "Performance Monitor Counters for AMD Family 1Ah Model 00h- 0Fh
     Processors" document, with events that capture information on op
     dispatch, execution and retirement, branch prediction, L1 and L2
     cache activity, TLB activity, etc

   - Mark L1D_CACHE_INVAL impacted by errata for ARM64's AmpereOne/
     AmpereOneX

  Miscellaneous:

   - Sync header copies with the kernel sources

   - Move some header copies used only for generating translation string
     tables for ioctl cmds and other syscall integer arguments to a new
     directory under tools/perf/beauty/, to separate from copies in
     tools/include/ that are used to build the tools

   - Introduce scrape script for several syscall 'flags'/'mask'
     arguments

   - Improve cpumap utilization, fixing up pairing of refcounts, using
     the right iterators (perf_cpu_map__for_each_cpu), etc

   - Give more details about raw event encodings in 'perf list', show
     tracepoint encoding in the detailed output

   - Refactor the DSOs handling code, reducing memory usage

   - Document the BPF event modifier and add a 'perf test' for it

   - Improve the event parser, better error messages and add further
     'perf test's for it

   - Add reference count checking to 'struct comm_str' and 'struct
     mem_info'

   - Make ARM64's 'perf test' entries for the Neoverse N1 more robust

   - Tweak the ARM64's Coresight 'perf test's

   - Improve ARM64's CoreSight ETM version detection and error reporting

   - Fix handling of symbols when using kcore

   - Fix PAI (Processor Activity Instrumentation) counter names for s390
     virtual machines in 'perf report'

   - Fix -g/--call-graph option failure in 'perf sched timehist'

   - Add LIBTRACEEVENT_DIR build option to allow building with
     libtraceevent installed in non-standard directories, such as when
     doing cross builds

   - Various 'perf test' and 'perf bench' fixes

   - Improve 'perf probe' error message for long C++ probe names"

* tag 'perf-tools-for-v6.10-1-2024-05-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (260 commits)
  tools lib subcmd: Show parent options in help
  perf pmu: Count sys and cpuid JSON events separately
  perf stat: Don't display metric header for non-leader uncore events
  perf annotate-data: Ensure the number of type histograms
  perf annotate: Fix segfault on sample histogram
  perf daemon: Fix file leak in daemon_session__control
  libsubcmd: Fix parse-options memory leak
  perf lock: Avoid memory leaks from strdup()
  perf sched: Rename 'switches' column header to 'count' and add usage description, options for latency
  perf tools: Ignore deleted cgroups
  perf parse: Allow tracepoint names to start with digits
  perf parse-events: Add new 'fake_tp' parameter for tests
  perf parse-events: pass parse_state to add_tracepoint
  perf symbols: Fix ownership of string in dso__load_vmlinux()
  perf symbols: Update kcore map before merging in remaining symbols
  perf maps: Re-use __maps__free_maps_by_name()
  perf symbols: Remove map from list before updating addresses
  perf tracepoint: Don't scan all tracepoints to test if one exists
  perf dwarf-aux: Fix build with HAVE_DWARF_CFI_SUPPORT
  perf thread: Fixes to thread__new() related to initializing comm
  ...
2024-05-21 15:45:14 -07:00
..
arm-spe-decoder perf arm-spe: Fix a dangling Documentation/arm64 reference 2023-06-21 08:53:31 -06:00
bpf_skel Merge remote-tracking branch 'torvalds/master' into perf-tools-next 2024-04-22 13:35:18 -03:00
cs-etm-decoder perf cs-etm: Add exception level consistency check 2023-06-12 18:18:13 -03:00
hisi-ptt-decoder perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
include tools headers: Update the copy of x86's mem{cpy,set}_64.S used in 'perf bench' 2024-01-30 11:31:15 -03:00
intel-pt-decoder perf intel-pt: Fix unassigned instruction op (discovered by MemorySanitizer) 2024-04-26 22:13:10 -03:00
libunwind perf unwind: Use perf_arch_reg_{ip|sp}() to substitute macros 2023-08-16 08:48:06 -03:00
perf-regs-arch perf parse-regs: Always build perf register functions 2024-02-15 13:48:20 -08:00
scripting-engines perf mem-info: Add reference count checking 2024-05-07 18:06:44 -03:00
addr_location.c perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
addr_location.h perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
affinity.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
affinity.h
amd-sample-raw.c perf script ibs: Remove unused include 2023-08-23 08:41:52 -03:00
annotate-data.c perf annotate-data: Ensure the number of type histograms 2024-05-11 13:03:13 -03:00
annotate-data.h perf annotate-data: Add hist_entry__annotate_data_tui() 2024-04-12 12:02:06 -03:00
annotate.c perf annotate: Fix segfault on sample histogram 2024-05-11 13:03:13 -03:00
annotate.h perf annotate: Move 'start' field struct to 'struct annotated_source' 2024-04-08 17:43:20 -03:00
archinsn.h
arm64-frame-pointer-unwind-support.c perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
arm64-frame-pointer-unwind-support.h perf unwind arm64: Remove needless event.h & thread.h includes 2022-10-27 16:37:26 -03:00
arm-spe.c perf thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
arm-spe.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
auxtrace.c perf auxtrace: Allow number of queues to be specified 2024-05-07 12:44:02 -03:00
auxtrace.h perf auxtrace: Allow number of queues to be specified 2024-05-07 12:44:02 -03:00
block-info.c perf block-info: Remove unused refcount 2024-05-07 18:06:44 -03:00
block-info.h perf block-info: Remove unused refcount 2024-05-07 18:06:44 -03:00
block-range.c perf annotate: Move max_coverage from 'struct annotation' to 'struct annotated_branch' 2023-11-09 13:49:33 -03:00
block-range.h
bpf_counter_cgroup.c perf tools: Ignore deleted cgroups 2024-05-10 10:52:46 -03:00
bpf_counter.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
bpf_counter.h perf build: Properly guard libbpf includes 2023-01-10 10:51:39 -03:00
bpf_ftrace.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
bpf_kwork_top.c perf cpumap: Use perf_cpu_map__for_each_cpu when possible 2024-03-21 10:41:28 -03:00
bpf_kwork.c perf cpumap: Use perf_cpu_map__for_each_cpu when possible 2024-03-21 10:41:28 -03:00
bpf_lock_contention.c perf machine: Move machine's threads into its own abstraction 2024-03-03 22:51:44 -08:00
bpf_map.c perf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
bpf_map.h perf bpf: No need to include compiler.h when HAVE_LIBBPF_SUPPORT is true 2022-10-27 16:37:26 -03:00
bpf_off_cpu.c perf offcpu: Add missed btf_free 2023-10-25 13:38:33 -07:00
bpf-event.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
bpf-event.h perf env: Avoid recursively taking env->bpf_progs.lock 2024-01-03 17:54:54 -03:00
bpf-filter.c perf bpf-filter: Fix sample flag check with || 2023-08-15 16:41:48 -03:00
bpf-filter.h perf bpf filter: Add logical OR operator 2023-03-15 11:08:36 -03:00
bpf-filter.l perf bpf filter: Add logical OR operator 2023-03-15 11:08:36 -03:00
bpf-filter.y perf bpf-filter: Add YYDEBUG 2023-09-12 17:50:36 -03:00
bpf-prologue.h perf bpf: No need to include headers just use forward declarations 2022-10-31 11:05:41 -03:00
bpf-utils.c perf bpf: 8 byte align bpil data 2022-06-28 12:05:25 -03:00
bpf-utils.h perf bpf: Pull in bpf_program__get_prog_info_linear() 2021-11-01 18:16:40 -03:00
branch.c perf callchain: Make display use of branch_type_stat const 2023-10-25 13:38:50 -07:00
branch.h perf callchain: Make display use of branch_type_stat const 2023-10-25 13:38:50 -07:00
Build perf mem-info: Move mem-info out of mem-events and symbol 2024-05-07 18:06:44 -03:00
build-id.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
build-id.h perf dsos: Attempt to better abstract DSOs internals 2024-04-12 12:04:13 -03:00
cache.h perf path: Make mkpath thread safe, remove 16384 bytes from .bss 2023-05-28 10:24:14 -03:00
cacheline.c
cacheline.h perf c2c: Add report option to show false sharing in adjacent cachelines 2023-02-16 09:33:45 -03:00
call-path.c
call-path.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
callchain.c perf callchain: Use zfree() to avoid possibly accessing dangling pointers 2024-05-07 12:44:02 -03:00
callchain.h perf callchain: Minor layout changes to callchain_list 2023-10-25 13:39:32 -07:00
cap.c
cap.h
cgroup.c perf tools: Ignore deleted cgroups 2024-05-10 10:52:46 -03:00
cgroup.h perf lock contention: Add -G/--cgroup-filter option 2023-09-12 17:32:00 -03:00
clockid.c
clockid.h
cloexec.c perf util: Remove weak sched_getcpu 2023-03-14 08:29:46 -03:00
cloexec.h
color_config.c
color.c
color.h
comm.c perf comm: Fix comm_str__put() for reference count checking 2024-05-09 18:13:22 -03:00
comm.h
compress.h perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00
config.c perf parse-events: Remove BPF event support 2023-08-15 16:41:48 -03:00
config.h perf tools: Add perf_config_scan() 2022-10-04 08:55:21 -03:00
copyfile.c
copyfile.h
counts.c perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
counts.h perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
cpu-set-sched.h
cpumap.c perf cpumap: Remove refcnt from 'struct cpu_aggr_map' 2024-05-07 18:06:44 -03:00
cpumap.h perf cpumap: Remove refcnt from 'struct cpu_aggr_map' 2024-05-07 18:06:44 -03:00
cputopo.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
cputopo.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
cs-etm-base.c perf cs-etm: Move mapping of Trace ID and cpu into helper function 2023-04-04 09:39:56 -03:00
cs-etm.c perf cs-etm: Print error for new PERF_RECORD_AUX_OUTPUT_HW_ID versions 2024-05-07 12:44:02 -03:00
cs-etm.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
data-convert-bt.c perf trace: Reduce #ifdefs for TEP_FIELD_IS_RELATIVE 2023-01-19 13:26:28 -03:00
data-convert-json.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
data-convert.h perf data: Add JSON export 2021-04-29 10:30:58 -03:00
data.c perf data: Minor code style alignment cleanup 2024-01-22 12:08:21 -08:00
data.h perf data: Minor code style alignment cleanup 2024-01-22 12:08:21 -08:00
db-export.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
db-export.h perf scripting python: Add 'addr_location' for 'addr' 2021-05-25 10:07:17 -03:00
debug.c perf annotate-data: Add debug messages 2024-03-21 10:41:28 -03:00
debug.h perf annotate-data: Add debug messages 2024-03-21 10:41:28 -03:00
debuginfo.c perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03:00
debuginfo.h perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03:00
demangle-cxx.cpp perf symbol: Avoid memory leak from abi::__cxa_demangle 2023-03-20 12:49:58 -03:00
demangle-cxx.h perf symbol: Add abi::__cxa_demangle C++ demangling support 2023-03-14 08:29:46 -03:00
demangle-java.c perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
demangle-java.h
demangle-ocaml.c perf tools: Preserve identifier id in OCaml demangler 2021-03-30 12:45:59 -03:00
demangle-ocaml.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
demangle-rust.c
demangle-rust.h
disasm.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
disasm.h perf annotate: Split out util/disasm.c 2024-04-03 11:48:57 -03:00
dlfilter.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
dlfilter.h perf tests: Add dlfilter test 2021-08-11 09:35:44 -03:00
dso.c perf dso: Use container_of() to avoid a pointer in 'struct dso_data' 2024-05-06 16:08:31 -03:00
dso.h perf dso: Use container_of() to avoid a pointer in 'struct dso_data' 2024-05-06 16:08:31 -03:00
dsos.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
dsos.h perf dsos: Remove __dsos__findnew_link_by_longname_id() 2024-05-06 09:33:37 -03:00
dump-insn.c
dump-insn.h perf script: Add capstone support for '-F +brstackdisasm' 2024-04-05 10:43:07 -03:00
dwarf-aux.c perf dwarf-aux: Fix build with HAVE_DWARF_CFI_SUPPORT 2024-05-09 18:19:27 -03:00
dwarf-aux.h perf dwarf-aux: Add die_collect_global_vars() 2024-05-02 10:45:30 -03:00
dwarf-regs.c perf dwarf-regs: Add get_dwarf_regnum() 2023-12-23 10:56:05 -03:00
env.c perf env: Avoid recursively taking env->bpf_progs.lock 2024-01-03 17:54:54 -03:00
env.h perf stat: Support per-cluster aggregation 2024-02-09 14:59:53 -08:00
event.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
event.h perf symbols: Add kallsyms__get_symbol_start() 2023-07-28 19:01:16 -03:00
events_stats.h perf hist: Add nr_lost_samples to hist_stats 2022-10-04 08:55:20 -03:00
evlist.c perf parse-events: Add new 'fake_tp' parameter for tests 2024-05-10 10:49:26 -03:00
evlist.h perf top: Uniform the event name for the hybrid machine 2023-12-14 19:13:10 -03:00
evsel_config.h
evsel_fprintf.c perf callchain: Use pthread keys for tls callchain_cursor 2023-06-12 15:57:54 -03:00
evsel_fprintf.h perf script: Add new output field 'dsoff' to print dso offset 2023-05-12 15:21:49 -03:00
evsel.c perf parse-events: Add new 'fake_tp' parameter for tests 2024-05-10 10:49:26 -03:00
evsel.h perf parse-events: Add new 'fake_tp' parameter for tests 2024-05-10 10:49:26 -03:00
evswitch.c
evswitch.h perf: Various spelling fixes 2023-01-23 10:00:47 -03:00
expr.c perf expr: Fix "has_event" function for metric style events 2024-02-13 13:48:06 -08:00
expr.h perf jevents: Add a new expression builtin strcmp_cpuid_str() 2023-08-17 14:12:14 -03:00
expr.l perf expr: Allow NaN to be a valid number 2024-02-13 13:47:08 -08:00
expr.y perf expr: Make YYDEBUG dependent on doing a debug build 2023-09-12 17:46:50 -03:00
find-map.c
fncache.c
fncache.h
ftrace.h perf ftrace: Reuse target::initial_delay 2023-03-13 14:52:14 -03:00
genelf_debug.c perf jit: Fix incorrect file name in DWARF line table 2023-06-20 22:18:58 -07:00
genelf.c perf genelf: Set ELF program header addresses properly 2023-12-14 18:56:34 -03:00
genelf.h perf genelf: Fix compiling with libelf on rv32 2024-04-18 22:22:51 -03:00
generate-cmdlist.sh perf help: Use HAVE_LIBTRACEEVENT to filter out unsupported commands 2023-01-02 11:51:53 -03:00
get_current_dir_name.c perf tools: Fixup get_current_dir_name() compilation 2021-08-30 10:06:16 -03:00
get_current_dir_name.h
hashmap.c libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
hashmap.h perf tools: Update copy of libbpf's hashmap.c 2023-09-11 10:31:02 -03:00
header.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
header.h perf: Extract building cache level for a CPU into separate function 2023-05-23 12:20:14 -03: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 hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event() 2023-12-13 13:56:09 -03:00
hisi-ptt.h perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
hist.c perf hist: Avoid 'struct hist_entry_iter' mem_info memory leak 2024-05-07 18:06:44 -03:00
hist.h perf hist: Avoid 'struct hist_entry_iter' mem_info memory leak 2024-05-07 18:06:44 -03:00
intel-bts.c perf thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
intel-bts.h
intel-pt.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
intel-pt.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
intlist.c perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
intlist.h perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
iostat.c perf stat: Pass through 'struct outstate' 2022-11-24 09:40:37 -03:00
iostat.h perf stat: Pass through 'struct outstate' 2022-11-24 09:40:37 -03:00
jit.h perf inject jit: Add namespaces support 2021-02-03 13:10:44 -03:00
jitdump.c perf jitdump: Avoid memory leak 2023-10-12 10:01:56 -07:00
jitdump.h
kvm-stat.h perf kvm: Reference count 'struct kvm_info' 2023-03-21 10:06:05 -03:00
kwork.h perf kwork top: Implements BPF-based cpu usage statistics 2023-09-12 17:31:59 -03:00
levenshtein.c perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
levenshtein.h
lock-contention.h perf lock contention: Add -G/--cgroup-filter option 2023-09-12 17:32:00 -03:00
lzma.c perf lzma: Convert some pr_err() to pr_debug() as callers already use pr_debug() 2023-08-22 16:53:32 -03:00
machine.c perf mem-info: Add reference count checking 2024-05-07 18:06:44 -03:00
machine.h perf dsos: Attempt to better abstract DSOs internals 2024-04-12 12:04:13 -03:00
map_symbol.c perf mem_info: Add and use map_symbol__exit and addr_map_symbol__exit 2023-10-25 13:39:58 -07:00
map_symbol.h perf mem_info: Add and use map_symbol__exit and addr_map_symbol__exit 2023-10-25 13:39:58 -07:00
map.c perf map: Add missing dso__put() in map__new() 2024-05-06 15:36:51 -03:00
map.h perf map: Add map__objdump_2rip() 2024-03-21 10:41:28 -03:00
maps.c perf maps: Re-use __maps__free_maps_by_name() 2024-05-09 18:48:19 -03:00
maps.h perf maps: Locking tidy up of nr_maps 2024-02-12 12:35:41 -08:00
mem2node.c
mem2node.h
mem-events.c perf mem-info: Add reference count checking 2024-05-07 18:06:44 -03:00
mem-events.h perf mem-info: Move mem-info out of mem-events and symbol 2024-05-07 18:06:44 -03:00
mem-info.c perf mem-info: Add reference count checking 2024-05-07 18:06:44 -03:00
mem-info.h perf mem-info: Add reference count checking 2024-05-07 18:06:44 -03:00
memswap.c
memswap.h
metricgroup.c perf parse-events: Add new 'fake_tp' parameter for tests 2024-05-10 10:49:26 -03:00
metricgroup.h perf stat: Add new field in stat_config to enable hardware aware grouping 2024-04-18 22:22:51 -03:00
mmap.c perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00
mmap.h perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00
mutex.c perf mutex: Add thread safety annotations 2022-10-04 08:55:20 -03:00
mutex.h perf mutex: Add thread safety annotations 2022-10-04 08:55:20 -03:00
namespaces.c perf namespaces: Introduce nsinfo__mntns_path() accessor to avoid accessing ->mntns_path directly 2023-04-17 22:22:24 -03:00
namespaces.h perf namespaces: Add reference count checking 2023-04-17 18:51:57 -03:00
off_cpu.h perf offcpu: Accept allowed sample types only 2022-06-28 11:45:45 -03:00
ordered-events.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
ordered-events.h perf ordered_events: Add ordered_events__last_flush_time() 2022-07-20 11:07:30 -03:00
parse-branch-options.c perf tools: Add branch counter knob 2023-11-09 13:47:50 -03:00
parse-branch-options.h
parse-events.c perf parse-events: Add new 'fake_tp' parameter for tests 2024-05-10 10:49:26 -03:00
parse-events.h perf parse-events: Add new 'fake_tp' parameter for tests 2024-05-10 10:49:26 -03:00
parse-events.l perf parse: Allow tracepoint names to start with digits 2024-05-10 10:50:34 -03:00
parse-events.y perf parse-events: pass parse_state to add_tracepoint 2024-05-10 10:49:09 -03: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 perf tools: Add missing newline at the end of header file 2021-08-24 15:01:31 -03:00
path.c perf path: Make mkpath thread safe, remove 16384 bytes from .bss 2023-05-28 10:24:14 -03:00
path.h perf test: Shell - Limit to only run executable scripts in tests 2022-04-11 16:39:49 -03:00
perf_api_probe.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
perf_api_probe.h perf record: Move probing cgroup sampling support 2021-06-01 10:32:00 -03:00
perf_event_attr_fprintf.c perf tools: Add/use PMU reverse lookup from config to name 2024-03-21 13:53:45 -03: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
perf-hooks-list.h
perf-hooks.c
perf-hooks.h
PERF-VERSION-GEN perf tools: Don't include signature in version strings 2023-01-02 12:34:06 -03:00
pfm.c perf list pfm: Retry supported test with exclude_kernel 2023-09-12 17:32:00 -03:00
pfm.h perf list: List callback support for libpfm 2022-11-24 10:04:52 -03:00
pmu.c perf pmu: Count sys and cpuid JSON events separately 2024-05-11 13:03:13 -03:00
pmu.h perf pmu: Count sys and cpuid JSON events separately 2024-05-11 13:03:13 -03:00
pmu.l perf pmu: Make parser reentrant 2023-04-06 21:40:28 -03:00
pmu.y perf pmu: Add YYDEBUG 2023-09-12 17:47:00 -03:00
pmus.c perf test pmu: Refactor format test and exposed test APIs 2024-05-03 17:08:20 -03:00
pmus.h perf test pmu: Refactor format test and exposed test APIs 2024-05-03 17:08:20 -03:00
print_binary.c
print_binary.h
print_insn.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
print_insn.h perf script: Consolidate capstone print functions 2024-04-08 17:42:27 -03:00
print-events.c perf list: Give more details about raw event encodings 2024-03-21 10:41:29 -03:00
print-events.h perf pmus: Skip duplicate PMUs and don't print list suffix by default 2023-08-29 14:16:14 -03:00
probe-event.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
probe-event.h perf probe: Make synthesize_perf_probe_point() private to probe-event.c 2023-08-07 16:40:29 -03:00
probe-file.c perf probe-file: Delete namelist in del_events() on the error path 2021-07-18 09:27:37 -03:00
probe-file.h
probe-finder.c bitops: make BYTES_TO_BITS() treewide-available 2024-04-01 10:49:27 +01:00
probe-finder.h perf tools: Add util/debuginfo.[ch] files 2023-11-10 09:03:54 -03:00
pstack.c
pstack.h
python-ext-sources perf evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08:00
python.c perf tools: Add/use PMU reverse lookup from config to name 2024-03-21 13:53:45 -03:00
rb_resort.h perf trace: Ignore thread hashing in summary 2024-03-03 22:51:18 -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: Reuse target::initial_delay 2023-03-13 14:52:14 -03:00
rlimit.c perf evsel: Rename evsel__increase_rlimit to rlimit__increase_nofile 2023-10-25 10:02:11 -07:00
rlimit.h perf evsel: Rename evsel__increase_rlimit to rlimit__increase_nofile 2023-10-25 10:02:11 -07:00
rwsem.c perf rwsem: Add debug mode that uses a mutex 2023-10-25 13:35:35 -07:00
rwsem.h perf rwsem: Add debug mode that uses a mutex 2023-10-25 13:35:35 -07:00
s390-cpumcf-kernel.h perf report: Add s390 raw data interpretation for PAI counters 2023-11-15 12:51:53 -05:00
s390-cpumsf-kernel.h
s390-cpumsf.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
s390-cpumsf.h
s390-sample-raw.c perf report: Remove warning on missing raw data for s390 2023-11-27 15:38:37 -03:00
sample-raw.c perf report: Add support to print a textual representation of IBS raw sample data 2021-09-10 18:15:21 -03:00
sample-raw.h perf report: Add support to print a textual representation of IBS raw sample data 2021-09-10 18:15:21 -03:00
sample.h perf tools: Add branch counter knob 2023-11-09 13:47:50 -03:00
session.c perf dsos: Attempt to better abstract DSOs internals 2024-04-12 12:04:13 -03:00
session.h perf dsos: Attempt to better abstract DSOs internals 2024-04-12 12:04:13 -03:00
setns.c
setup.py perf evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08:00
sharded_mutex.c perf sharded_mutex: Introduce sharded_mutex 2023-06-20 17:03:43 -07:00
sharded_mutex.h perf sharded_mutex: Introduce sharded_mutex 2023-06-20 17:03:43 -07:00
sideband_evlist.c perf evlist: Rename cpus to user_requested_cpus 2022-04-01 16:19:35 -03:00
smt.c perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
smt.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
sort.c perf mem-info: Add reference count checking 2024-05-07 18:06:44 -03:00
sort.h perf report: Add weight[123] output fields 2024-04-17 12:21:39 -03:00
spark.c
spark.h
srccode.c perf srccode: Use list_move() instead of equivalent list_del() + list_add() sequence 2021-06-08 09:36:36 -03:00
srccode.h
srcline.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
srcline.h perf srcline: Add a timeout to reading from addr2line 2023-06-14 18:19:06 -03:00
stat-display.c perf stat: Don't display metric header for non-leader uncore events 2024-05-11 13:03:13 -03:00
stat-shadow.c perf metrics: Compute unmerged uncore metrics individually 2024-02-22 08:57:09 -08:00
stat.c perf cpumap: Clean up use of perf_cpu_map__has_any_cpu_or_is_empty 2024-03-21 10:41:28 -03:00
stat.h perf stat: Add new field in stat_config to enable hardware aware grouping 2024-04-18 22:22:51 -03:00
strbuf.c
strbuf.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
stream.c libperf: Move 'idx' from tools/perf to perf_evsel::idx 2021-07-09 14:04:28 -03:00
stream.h
strfilter.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
strfilter.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
string2.h perf util: Add a function for replacing characters in a string 2023-09-12 17:32:00 -03:00
string.c perf util: Add a function for replacing characters in a string 2023-09-12 17:32:00 -03:00
strlist.c
strlist.h
svghelper.c perf cpumap: Use perf_cpu_map__for_each_cpu when possible 2024-03-21 10:41:28 -03:00
svghelper.h
symbol_conf.h perf annotate: Add --data-type option 2023-12-23 22:39:43 -03:00
symbol_fprintf.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
symbol-elf.c perf symbol-elf: dso__load_sym_internal() reference count fixes 2024-05-06 16:07:30 -03:00
symbol-minimal.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
symbol.c perf symbols: Fix ownership of string in dso__load_vmlinux() 2024-05-09 18:48:46 -03:00
symbol.h perf mem-info: Move mem-info out of mem-events and symbol 2024-05-07 18:06:44 -03:00
symsrc.h perf symbols: Allow for static executables with .plt 2023-02-01 21:51:51 -03:00
synthetic-events.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
synthetic-events.h perf cpumap: Synthetic events and const/static 2022-08-19 12:26:58 -03:00
syscalltbl.c perf tools: Declare syscalltbl_*[] as const for all archs 2023-06-05 11:36:17 -03:00
syscalltbl.h
target.c perf stat: Enable counting events for BPF programs 2021-01-20 14:25:28 -03:00
target.h perf target: Remove unused hybrid value 2023-05-27 09:38:59 -03:00
term.c
term.h
thread_map.c perf thread_map: Skip exited threads when scanning /proc 2024-02-22 09:11:03 -08:00
thread_map.h perf thread_map: Reduce exposure of libperf internal API 2022-11-16 12:17:15 -03:00
thread-stack.c x86/retpoline,kprobes: Skip optprobe check for indirect jumps with retpolines and IBT 2023-08-14 11:46:51 +02:00
thread-stack.h perf tools: Remove duplicate struct forward declarations 2021-03-25 08:59:10 -03:00
thread.c perf thread: Fixes to thread__new() related to initializing comm 2024-05-09 18:15:25 -03:00
thread.h perf machine: Move machine's threads into its own abstraction 2024-03-03 22:51:44 -08:00
threads.c perf threads: Switch from rbtree to hashmap 2024-03-03 22:52:04 -08:00
threads.h perf threads: Reduce table size from 256 to 8 2024-03-03 22:52:13 -08:00
time-utils.c
time-utils.h
tool.h perf record: Add finished init event 2022-06-23 11:54:22 -03:00
top.c perf top: Avoid repeated function calls to perf_cpu_map__nr(). 2023-12-18 21:34:39 -03:00
top.h perf top: Convert to the global annotation_options 2023-12-07 16:47:55 -03:00
topdown.c perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
topdown.h perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
trace-event-info.c perf trace-event-info: Avoid passing NULL value to closedir 2023-10-12 10:01:57 -07:00
trace-event-parse.c perf evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08:00
trace-event-read.c perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
trace-event-scripting.c perf script: Fix Python support when no libtraceevent 2023-03-15 10:27:07 -03:00
trace-event.c perf build: Use libtraceevent from the system 2022-12-14 11:16:12 -03:00
trace-event.h perf evsel: Rename get_states() to parse_task_states() and make it public 2024-02-01 22:10:27 -08: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 session: Dump PERF_RECORD_TIME_CONV event 2021-04-29 10:31:00 -03:00
tsc.h perf tsc: Add arch TSC frequency information 2022-07-25 12:28:00 -03:00
units.c perf stat: Improve readability of shadow stats 2021-03-15 11:36:54 -03:00
units.h perf stat: Improve readability of shadow stats 2021-03-15 11:36:54 -03:00
unwind-libdw.c perf maps: Hide maps internals 2024-02-12 12:35:41 -08:00
unwind-libdw.h perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
unwind-libunwind-local.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
unwind-libunwind.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
unwind.h perf unwind: Use perf_arch_reg_{ip|sp}() to substitute macros 2023-08-16 08:48:06 -03:00
usage.c perf usage: Move usage strings 2023-04-10 19:20:53 -03:00
util.c perf list: Add scandirat compatibility function 2024-02-22 09:11:41 -08:00
util.h perf list: Add scandirat compatibility function 2024-02-22 09:11:41 -08:00
values.c
values.h perf hist: Move histogram related code to hist.h 2024-04-17 12:21:39 -03:00
vdso.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
vdso.h
zlib.c
zstd.c perf mmap: Lazily initialize zstd streams to save memory when not using it 2023-11-28 14:25:06 -03:00