Hardware Reference¶
The capabilities of perf depends on the features of the CPU. The following list the features of common modern architectures.
Manuals¶
- Intel PMU event tables, in particular Appendix B of the IntelĀ® 64 and IA-32 Architectures Optimization Reference Manual.
- Intel Software Developer's Manual (SDM), for details on Intel Processor Trace (PT) and Branch Trace Store (BTS) in Volume 3.
- Intel perfmon GitHub, repository for Intel JSON event data.
- AMD PMU event table, the Processor Programming Reference Manual for AMD 17h family see Section 2.1.15 Performance Monitor Counters.
- AMD Instruction Based Sampling (IBS), documented in the Processor Programming Reference manuals.
- ARM PMU event tables, see Chapter D7. The Performance Monitors Extension, of the Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile.
- ARM Neovese N2 PMU guide.
- ARM Statistical Profiling Extension (SPE), see Chapter D7 or specific SPE documentation in the Armv8-A Reference Manual.
- ARM CoreSight Architecture Specification, official specification for ARM's system-wide debug and trace architecture.
- ARM Telemetry Solution GitLab, repository for ARM JSON event data.
- IBM Docs: CPU-Measurement Facilities counters, for s390x architecture.
- IBM POWER PMU support, Linux kernel implementation details for POWER processors.
- RISC-V Privileged Spec (v1.12), see Chapter on "Supervisor-level Count Overflow and Filtering PMU Extension" (SSCOFPMF).
Legacy¶
Less Common & Legacy Architectures¶
These architectures are supported in the Linux kernel and have varying degrees of perf support for their hardware counters. Links point to the kernel implementation where official manuals are less accessible.
- Alpha PMU support, Linux kernel implementation.
- ARC PMU support, Linux kernel implementation.
- CSKY PMU support, Linux kernel implementation.
- LoongArch PMU support, Linux kernel implementation.
- MIPS PMU support, Linux kernel implementation.
- PA-RISC (parisc) PMU support, Linux kernel implementation.
- Sparc PMU support, Linux kernel implementation.
- SuperH (sh) PMU support, Linux kernel implementation.
- Xtensa PMU support, Linux kernel implementation.