[PATCH 00/11] perf/amd/ibs: Fixes + future enhancements

Ravi Bangoria posted 11 patches 3 weeks, 1 day ago
arch/x86/events/amd/ibs.c         | 252 ++++++++++++++++++++++++++++--
arch/x86/include/asm/amd/ibs.h    |   4 +-
arch/x86/include/asm/msr-index.h  |   2 +
arch/x86/include/asm/perf_event.h |  52 +++---
4 files changed, 275 insertions(+), 35 deletions(-)
[PATCH 00/11] perf/amd/ibs: Fixes + future enhancements
Posted by Ravi Bangoria 3 weeks, 1 day ago
Patches 1-5:
  o Resolve several issues in the current IBS implementation

Patches 6-11:
  o Add support for new capabilities that will appear in future AMD
    CPUs:
    - Alternate disable bit in with control only MSRs to eliminate the
      RMW race in existing IBS_{FETCH|OP}_CTL MSRs
    - RIP bit 63 filtering, which can be used as hardware assisted
      privilege filtering, enabling IBS for unprivileged users without
      software based privilege filtering
    - Fetch latency threshold filter to capture only high-latency fetch
      events
    - Streaming-store filter to sample only instructions that perform
      streaming stores
    - Remote socket indicator for load/store instructions

Patches are prepared on tip/perf/core (eebe6446ccb7)

TODO:
  o perf tool and man page changes
  o perf test "AMD IBS software filtering" is failing on system that
    supports RIP bit63 filtering, but it's false-positive. I'll post
    a fix along with perf tools changes

Ravi Bangoria (11):
  perf/amd/ibs: Throttle interrupts with filtered ldlat samples
  perf/amd/ibs: Limit ldlat->l3missonly dependency to Zen5
  perf/amd/ibs: Preserve PhyAddrVal bit when clearing PhyAddr MSR
  perf/amd/ibs: Avoid race between event add and NMI
  perf/amd/ibs: Define macro for ldlat mask
  perf/amd/ibs: Add new MSRs and CPUID bits definitions
  perf/amd/ibs: Support IBS_{FETCH|OP}_CTL2[Dis] to eliminate RMW race
  perf/amd/ibs: Enable fetch latency filtering
  perf/amd/ibs: Enable RIP bit63 hardware filtering
  perf/amd/ibs: Enable streaming store filter
  perf/amd/ibs: Advertise remote socket capability

 arch/x86/events/amd/ibs.c         | 252 ++++++++++++++++++++++++++++--
 arch/x86/include/asm/amd/ibs.h    |   4 +-
 arch/x86/include/asm/msr-index.h  |   2 +
 arch/x86/include/asm/perf_event.h |  52 +++---
 4 files changed, 275 insertions(+), 35 deletions(-)

-- 
2.43.0