In my research, I need to sample memory access events and collect data related to these events, such as the accessed memory addresses, the thread ids that perform accesses, etc. I plan to do it by using perf_event_open system call (https://linux.die.net/man/2/perf_event_open) to configure AMD's IBS to sample these events. The problem is I cannot find any documentation on the hardware event numbers of AMD processors that I can pass to perf_event_open. For Intel, hardware event numbers are listed in Intel® 64 and IA32 Architectures Performance Monitoring Events | Intel® Software . Can anyone direct me to a similar document for AMD machines? Or, if IBS cannot be configured with perf_event_open, can anyone share me a tutorial on how to configure and access IBS data?
The AMD machine that I am using is an AMD EPYC 7551 32-core processor running Linux 5.0.0 kernel.