All of lore.kernel.org
 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; 10+ 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] 10+ messages in thread

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

Thread overview: 10+ 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-03  7:40   ` [tip: perf/core] perf/x86/amd: Ensure " tip-bot2 for Andrii Nakryiko
2024-04-02  2:21 ` [PATCH v5 2/4] perf/x86/amd: avoid taking branches before disabling LBR Andrii Nakryiko
2024-04-03  7:40   ` [tip: perf/core] perf/x86/amd: Avoid " tip-bot2 for Andrii Nakryiko
2024-04-02  2:21 ` [PATCH v5 3/4] perf/x86/amd: support capturing LBR from software events Andrii Nakryiko
2024-04-03  7:40   ` [tip: perf/core] perf/x86/amd: Support " tip-bot2 for 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:40   ` [tip: perf/core] perf/x86/amd: Don't " tip-bot2 for 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.