Thursday, October 8th 2026
AMD Engineer Details Zen 6 IBS Memory Profiler
AMD has detailed the IBS Memory Profiler, a little-discussed hardware feature in its upcoming Zen 6 processors. AMD engineer Bharata Bhasker Rao presented it at the Linux Plumbers Conference (LPC) 2026 in Prague on October 5. Instruction-Based Sampling (IBS) is AMD's existing profiling hardware, and Zen 6 adds a separate, lighter instance that only samples data memory accesses. Each sample hands the kernel the physical address of the access and shows whether the data came from DRAM or external memory such as CXL. That matters on tiered-memory servers, where Linux has to find frequently used ("hot") pages on slower CXL memory and move them to DRAM. AMD's EPYC 9006 "Venice" chips support memory expansion via CXL 3.1.
Linux currently finds those pages by scanning page tables and trapping page faults. AMD wants to feed the profiler's samples into pghot, a proposed kernel subsystem for hot page tracking. The results, however, are a mixed bag. On a test system with 256 logical CPUs and 256 GB of CXL memory, XSBench ran at 4.57x over a no-tiering baseline against 1.18x for the current method, and Graph500 hit 3.17x against 2.34x. Redis saw no gain, and NAS BT landed slightly behind. Per-folio promotion cost fell from 26.1 to 15.8 microseconds in an overhead test, though that benchmark finished about 5% slower. These are AMD's own numbers, and the slides list no virtualization support for the profiler. The pghot patches are still in development, and EPYC Venice is in production with cloud deployments expected later this year.
Sources:
AMD at Linux Plumbers Conference 2026, via Phoronix
Linux currently finds those pages by scanning page tables and trapping page faults. AMD wants to feed the profiler's samples into pghot, a proposed kernel subsystem for hot page tracking. The results, however, are a mixed bag. On a test system with 256 logical CPUs and 256 GB of CXL memory, XSBench ran at 4.57x over a no-tiering baseline against 1.18x for the current method, and Graph500 hit 3.17x against 2.34x. Redis saw no gain, and NAS BT landed slightly behind. Per-folio promotion cost fell from 26.1 to 15.8 microseconds in an overhead test, though that benchmark finished about 5% slower. These are AMD's own numbers, and the slides list no virtualization support for the profiler. The pghot patches are still in development, and EPYC Venice is in production with cloud deployments expected later this year.




11 Comments on AMD Engineer Details Zen 6 IBS Memory Profiler
It would be awesome to hear of some newer features for consumers as well, but so far all leaks only point towards more cores, IPC and frequencies... nothing conclusive though.
I just wished they'd stop their whole focus on datacenter servers... even if only to talk to us consumers, for 5minutes or so.
I'm waiting on openSIL bios and cheaper ram prices.
Intel has a more traditional solution where they worked very hard on associating which instruction + pipeline is associated with which memory addresses. (www.intel.com/content/www/us/en/developer/articles/tool/performance-counter-monitor.html specifically their "PEBS" feature).
AMD did a different approach. AMD leaves their own "traditional profiler" somewhat inaccurate: it basically doesn't know which instruction is "executing right now". Instead, AMD has a 2nd mode called "instruction based sampling", where whenever the "profiler" has been triggered, the processor will collect all the statistics on a singular instruction.
IBS is a bit of an inversion on the traditional profiling / hardware performance counters. So it takes some getting used to / thinking to yourself, and chewing on the concepts. But good information can still be gleaned. In particular, this leads to incredible information about how long a specific instruction sat in the retirement queue, in decoding, or waiting for L1, L2, or L3 memory. It seems like Zen6 extends this to include more information on CXL / memory waits across the infinity fabric. A natural extension but a welcome new tidbit of information for anyone studying high-performance code on CPUs, and Zen processors in particular.
---------
IMO, you either "know" about IBS, or you don't know (and don't care). Its a niche subject, but tracking the exact number of cycles instructions take in every "zone" of a processor (decoding, pipelines, stalls, and retirement) is good information!
--------
As far as an optimizer that's always listening and thinking about how to move pages around more optimally... well... multithreaded programming is hard, local memory vs remote memory is harder, and automatic optimization of these things is hardest. So I'm not too surprised to see mixed results here.
Would be very disappointing to have the old old 6nm one from zen4 being recycled for the second time!