Linux 6.1 Perf Adds AMD CPU Cache-To-Cache & Memory Reporting Capabilities
Beginning with Linux 6.1, perf mem and perf c2c are now wired up for use with recent AMD processors. The perf mem functionality is for various memory statistics while the perf c2c functionality is for CPU cache-to-cache information.
Via the perf tool on AMD CPUs there is now metrics around L1/L2/L3 cache hit rates, local RAM hit rates, remote RAM hit rates, remote cache hits, uncached hits, and similar metrics. This perf c2c/mem support relies on AMD CPUs with Instruction Based Sampling (IBS) support.
Also notable with the perf updates for Linux 6.1 is the LbrExtV2 support for Zen 4 processors. This is around the Last Branch Record Extension v2 functionality. The AMD LbrExtV2 adds LBR-Freeze-on-PMI for better correlation with PMC overflow events. There is also new hardware branch filtering support for recording just specific types of branches. The LbrExtV2 filtering includes being able to suppress branches for just kernel-only, user-space only, conditional branches, near relative calls, near indirect calls, near returns, near indirect jumps, near relative jumps, and far branches.
With the perf core changes for Linux 6.1 is also improved Intel PEBS TSC timestamp integration, Intel Raptor Lake S CPU support, hardware breakpoint improvements, and other fixes.
The perf tooling updates have the rest of the AMD perf mem/c2c bits plus improvements to perf lock / lock contention, Intel PT improvements, and other additions.