linux/Documentation/trace
Linus Torvalds 473f6c8f43 perf tools updates for v7.3
perf c2c:
 
  - Add 'function view' in perf c2c report TUI (switched by pressing 'TAB'
    in the cacheline view) to organize samples around functions rather than
    cachelines in 3-level hierarchy:
 
      Level 1: Read-side function (sorted by estimated Cycles %)
      Level 2:   Contending writer functions (sorted by Store count)
      Level 3:     Shared cacheline addresses
 
    Users can navigate the entries and fold/unfold using 'e' key.  An example
    output would look like below:
 
     Shared Data Functions Table     (19 entries, sorted on Cycles %)
        Cycles    Store
             %    count  Function / Contending function / Cacheline
     ----------------------------------------------------------------------
     +  35.67%      876  + [k] cpupri_set
     +  24.31%      424  + [k] pull_rt_task
     -  16.53%      555  - [k] dequeue_pushable_task
                    145    - [k] pull_rt_task
                    145        0xff2d0082809da080
                    139    - [k] enqueue_pushable_task
                     70        0xff2d00a2071f9640
                     69        0xff2d0082809da000
 
 python module support:
 
  - Extend "perf" python module so that it can be fully functional.  The goal
    is to run scripts directly, not by 'perf script' command.  This would give
    better performance as well as more control to build standalone programs
    with UI.
 
  - Add LiveSession helper (perf_live.py) to enable live event collection
    directly from Python using perf.evlist and perf.parse_events.
 
 perf stat:
 
  - Add --hide-zero-events option to suppress zero-count events.
  - Reject conflicting --field-separator and --json-output options.
  - Fix duplicate event output with --for-each-cgroup.
 
 perf sched latency:
 
  - Add -H/--histogram and --hist-mode (log|linear) options to show scheduler
    wait latency histograms.
  - Add --time option to filter analysis by time span in 'perf sched latency'.
 
 ARM CoreSight:
 
  - Synthesize callchains for instruction samples from CoreSight trace
    using thread stack ('--itrace=g...').
  - Support call indentation ('perf script -F +callindent') to display call
    depth hierarchy on branch samples.
  - Decode ETE (Embedded Trace Extension) exception packets.
 
 Build system:
 
  - Add 'make install-build-deps' target to install required packages.
  - Parallelize JSON and metric pre-computation in jevents.py for faster builds.
 
 Vendor event/metric updates:
 
  - Add Intel Nova Lake events and update tables for existing models.
  - Update AMD Zen 5 and Zen 6 core events.
  - Update Arm64 Tegra410 metrics and PowerPC hcalls.
 
 Internal changes and fixes:
 
  - Harden trace-event and synthetic event parsing against corrupted data.
  - Fix unwinding of multi-threaded processes in libdw unwinder.
  - Fix memory leaks in various commands and python bindings.
  - Speed up 'perf test' shell tests.
 
 Signed-off-by: Namhyung Kim <namhyung@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSo2x5BnqMqsoHtzsmMstVUGiXMgwUCaojCVQAKCRCMstVUGiXM
 gxZLAP9u7Bqhfcrc1KKS9RcxBaiYwsPOIgbtdrDDCSiLtdz0EwEAk1UCSXodUsaR
 45nbx01h+h7cUWk2HM735f4RXRfO/AE=
 =GLJH
 -----END PGP SIGNATURE-----

Merge tag 'perf-tools-for-v7.3-2026-08-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

Pull perf tools updates from Namhyung Kim:
 "perf c2c:

   - Add 'function view' in perf c2c report TUI (switched by pressing
     'TAB' in the cacheline view) to organize samples around functions
     rather than cachelines in 3-level hierarchy:

	Level 1: Read-side function (sorted by estimated Cycles %)
	Level 2:   Contending writer functions (sorted by Store count)
	Level 3:     Shared cacheline addresses

     Users can navigate the entries and fold/unfold using 'e' key. An
     example output would look like below:

	Shared Data Functions Table     (19 entries, sorted on Cycles %)
	   Cycles    Store
	        %    count  Function / Contending function / Cacheline
	----------------------------------------------------------------------
	+  35.67%      876  + [k] cpupri_set
	+  24.31%      424  + [k] pull_rt_task
	-  16.53%      555  - [k] dequeue_pushable_task
	               145    - [k] pull_rt_task
	               145        0xff2d0082809da080
	               139    - [k] enqueue_pushable_task
	                70        0xff2d00a2071f9640
	                69        0xff2d0082809da000

  python module support:

   - Extend "perf" python module so that it can be fully functional. The
     goal is to run scripts directly, not by 'perf script' command. This
     would give better performance as well as more control to build
     standalone programs with UI.

   - Add LiveSession helper (perf_live.py) to enable live event
     collection directly from Python using perf.evlist and
     perf.parse_events.

  perf stat:

   - Add --hide-zero-events option to suppress zero-count events
   - Reject conflicting --field-separator and --json-output options
   - Fix duplicate event output with --for-each-cgroup

  perf sched latency:

   - Add -H/--histogram and --hist-mode (log|linear) options to show
     scheduler wait latency histograms
   - Add --time option to filter analysis by time span in 'perf sched
     latency'

  ARM CoreSight:

   - Synthesize callchains for instruction samples from CoreSight trace
     using thread stack ('--itrace=g...')
   - Support call indentation ('perf script -F +callindent') to display
     call depth hierarchy on branch samples
   - Decode ETE (Embedded Trace Extension) exception packets

  Build system:

   - Add 'make install-build-deps' target to install required packages
   - Parallelize JSON and metric pre-computation in jevents.py for
     faster builds

  Vendor event/metric updates:

   - Add Intel Nova Lake events and update tables for existing models
   - Update AMD Zen 5 and Zen 6 core events
   - Update Arm64 Tegra410 metrics and PowerPC hcalls

  Internal changes and fixes:

   - Harden trace-event and synthetic event parsing against corrupted
     data
   - Fix unwinding of multi-threaded processes in libdw unwinder
   - Fix memory leaks in various commands and python bindings
   - Speed up 'perf test' shell tests"

* tag 'perf-tools-for-v7.3-2026-08-21' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (232 commits)
  perf vendor events arm64: Fix Tegra410 Olympus event 0x0197
  perf vendor events arm64: fix swapped MetricGroup for Tegra410 L1 prefetcher metrics
  perf evlist: Warn when 'sleep' workload is used without system-wide (-a) option
  perf c2c: document function view in perf-c2c man page
  perf c2c: add function view browser UI and cacheline detail
  perf c2c: build and finalize the function view hierarchy
  perf c2c: add function view hierarchy entry creation
  perf c2c: add function view stats merge and memory management
  perf c2c: add HPP list parsing for function view columns
  perf c2c: add column rendering for function view
  perf c2c: add function view model skeleton
  perf c2c: extract shared data structures into util/c2c.h
  perf test sample-parsing: Validate PERF_FORMAT_GROUP values without LOST
  perf dso: Replace assert with runtime check in dso__read_symbol()
  perf dso: Guard against cache underflow on short reads in dso_cache__memcpy()
  perf dso: Use stored fd error instead of stale errno in file_read() and file_size()
  perf dso: Guard close() against invalid fd in dso__decompress_kmodule_path()
  perf dso: Guard against errno==0 when dso__get_filename() returns NULL
  perf build: install-build-deps: add RHEL family devel package mapping
  perf build: Remove leftover feature tests for removed cxx and clang support
  ...
2026-08-22 08:47:50 -07:00
..
coresight perf test cs-etm: Remove unused Coresight workloads 2026-06-10 18:55:49 -03:00
postprocess docs: trace: decode_msr.py: make it compatible with python 3 2025-02-13 09:45:22 -07:00
rv Documentation/rv: Explain epoll and aborted sleeps 2026-08-04 16:11:28 +02:00
boottime-trace.rst tracing/boot: Add support for eprobe, fprobe, and tprobe events 2026-08-08 21:20:55 +09:00
debugging.rst tracing/Documentation: Add a section about backup instance 2026-04-02 13:27:21 -04:00
eprobetrace.rst tracing/probes: Support field specifier option for typecast 2026-07-14 22:43:16 +09:00
events-kmem.rst
events-landlock.rst landlock: Document tracepoints 2026-08-17 10:17:19 +02:00
events-msr.rst docs: ftrace: always use canonical ftrace path 2023-01-31 14:02:30 -07:00
events-nmi.rst docs: ftrace: always use canonical ftrace path 2023-01-31 14:02:30 -07:00
events-pci-controller.rst Documentation: tracing: Add PCI controller event documentation 2026-04-07 20:13:12 +05:30
events-pci.rst Documentation: tracing: Add PCI tracepoint documentation 2026-01-08 10:06:19 -06:00
events-power.rst
events.rst Documentation: tracing: fix typo in events documentation 2026-06-23 14:34:11 -06:00
fprobe.rst docs: trace: fprobe: fix 'thos' spelling 2026-07-28 23:54:59 +09:00
fprobetrace.rst tracing/probes: Add this_cpu_read() and this_cpu_ptr() dereference method to fetcharg 2026-07-14 22:43:16 +09:00
ftrace-design.rst tracing: Remove redundant config HAVE_FTRACE_MCOUNT_RECORD 2025-07-22 20:15:56 -04:00
ftrace-uses.rst Documentation/trace: Fix links to other documents 2026-01-12 09:31:19 -07:00
ftrace.rst ftrace: deprecate disabling via ftrace_enabled sysctl 2026-08-10 21:21:18 -04:00
function-graph-fold.vim
hisi-ptt.rst perf hisi-ptt: Fix PTT trace TLP header parsing 2026-07-31 15:48:12 -07:00
histogram-design.rst Documentation: fix spelling mistake "stucture" -> "structure" 2026-04-27 03:56:14 -06:00
histogram.rst Documentation: trace: histogram: Convert ftrace docs cross-reference 2025-09-18 11:49:26 -06:00
hwlat_detector.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
index.rst landlock: Document tracepoints 2026-08-17 10:17:19 +02:00
intel_th.rst
kprobes.rst docs, kprobes: Add riscv as supported architecture 2024-05-02 10:05:25 -06:00
kprobetrace.rst tracing/probes: Add this_cpu_read() and this_cpu_ptr() dereference method to fetcharg 2026-07-14 22:43:16 +09:00
mmiotrace.rst docs: ftrace: always use canonical ftrace path 2023-01-31 14:02:30 -07:00
osnoise-tracer.rst rtla/osnoise: set the default threshold to 1us 2024-07-01 18:54:31 -04:00
remotes.rst Documentation: tracing: Add tracing remotes 2026-03-09 12:33:55 -04:00
ring-buffer-design.rst
ring-buffer-map.rst Documentation: tracing: Add ring-buffer mapping 2024-05-13 18:09:56 -04:00
stm.rst
sys-t.rst
timerlat-tracer.rst Documentation/trace: Specify exact priority for timerlat 2025-11-05 11:19:20 -07:00
tracepoint-analysis.rst docs: ftrace: always use canonical ftrace path 2023-01-31 14:02:30 -07:00
tracepoints.rst tracepoint: Have tracepoints created with DECLARE_TRACE() have _tp suffix 2025-05-14 11:19:32 -04:00
uprobetracer.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
user_events.rst tracing/user_events: Document multi-format flag 2024-03-18 10:13:16 -04:00