bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] perf/x86/amd: add LBR capture support outside of hardware events
@ 2024-04-02  2:21 Andrii Nakryiko
  2024-04-02  2:21 ` [PATCH v5 1/4] perf/x86/amd: ensure amd_pmu_core_disable_all() is always inlined Andrii Nakryiko
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andrii Nakryiko @ 2024-04-02  2:21 UTC (permalink / raw)
  To: x86, peterz, mingo, tglx
  Cc: bpf, linux-kernel, jolsa, song, kernel-team, Andrii Nakryiko

Add AMD-specific implementation of perf_snapshot_branch_stack static call that
allows LBR capture from arbitrary points in the kernel. This is utilized by
BPF programs. See patch #3 for all the details.

Patches #1 and #2 are preparatory steps to ensure LBR freezing is completely
inlined and have no branches, to minimize LBR snapshot contamination.

Patch #4 removes an artificial restriction on perf events with LBR enabled.

v4->v5:
  - rebased on top of perf/urgent branch to resolve conflicts with
    598c2fafc06f ("perf/x86/amd/lbr: Use freeze based on availability").

Andrii Nakryiko (4):
  perf/x86/amd: ensure amd_pmu_core_disable_all() is always inlined
  perf/x86/amd: avoid taking branches before disabling LBR
  perf/x86/amd: support capturing LBR from software events
  perf/x86/amd: don't reject non-sampling events with configured LBR

 arch/x86/events/amd/core.c   | 37 +++++++++++++++++++++++++++++++++++-
 arch/x86/events/amd/lbr.c    | 13 +------------
 arch/x86/events/perf_event.h | 13 +++++++++++++
 3 files changed, 50 insertions(+), 13 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-04-03  7:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-02  2:21 [PATCH v5 0/4] perf/x86/amd: add LBR capture support outside of hardware events Andrii Nakryiko
2024-04-02  2:21 ` [PATCH v5 1/4] perf/x86/amd: ensure amd_pmu_core_disable_all() is always inlined Andrii Nakryiko
2024-04-02  2:21 ` [PATCH v5 2/4] perf/x86/amd: avoid taking branches before disabling LBR Andrii Nakryiko
2024-04-02  2:21 ` [PATCH v5 3/4] perf/x86/amd: support capturing LBR from software events Andrii Nakryiko
2024-04-02  2:21 ` [PATCH v5 4/4] perf/x86/amd: don't reject non-sampling events with configured LBR Andrii Nakryiko
2024-04-03  7:19 ` [PATCH v5 0/4] perf/x86/amd: add LBR capture support outside of hardware events Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).