|
Jiri Slaby |
2a37fc |
From: Namhyung Kim <namhyung@kernel.org>
|
|
Jiri Slaby |
2a37fc |
Date: Wed, 26 Apr 2023 20:05:27 -0700
|
|
Jiri Slaby |
2a37fc |
Subject: [PATCH] perf/x86: Fix missing sample size update on AMD BRS
|
|
Jiri Slaby |
2a37fc |
References: bsc#1012628
|
|
Jiri Slaby |
2a37fc |
Patch-mainline: 6.3.3
|
|
Jiri Slaby |
2a37fc |
Git-commit: 90befef5a9e820ccccc33181ec14c015980300cc
|
|
Jiri Slaby |
2a37fc |
|
|
Jiri Slaby |
2a37fc |
commit 90befef5a9e820ccccc33181ec14c015980300cc upstream.
|
|
Jiri Slaby |
2a37fc |
|
|
Jiri Slaby |
2a37fc |
It missed to convert a PERF_SAMPLE_BRANCH_STACK user to call the new
|
|
Jiri Slaby |
2a37fc |
perf_sample_save_brstack() helper in order to update the dyn_size.
|
|
Jiri Slaby |
2a37fc |
This affects AMD Zen3 machines with the branch-brs event.
|
|
Jiri Slaby |
2a37fc |
|
|
Jiri Slaby |
2a37fc |
Fixes: eb55b455ef9c ("perf/core: Add perf_sample_save_brstack() helper")
|
|
Jiri Slaby |
2a37fc |
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
|
|
Jiri Slaby |
2a37fc |
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
|
|
Jiri Slaby |
2a37fc |
Cc: stable@vger.kernel.org
|
|
Jiri Slaby |
2a37fc |
Link: https://lkml.kernel.org/r/20230427030527.580841-1-namhyung@kernel.org
|
|
Jiri Slaby |
2a37fc |
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Jiri Slaby |
2a37fc |
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
|
|
Jiri Slaby |
2a37fc |
---
|
|
Jiri Slaby |
2a37fc |
arch/x86/events/core.c | 6 ++----
|
|
Jiri Slaby |
2a37fc |
1 file changed, 2 insertions(+), 4 deletions(-)
|
|
Jiri Slaby |
2a37fc |
|
|
Jiri Slaby |
2a37fc |
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
|
|
Jiri Slaby |
2a37fc |
index d096b04b..9d248703 100644
|
|
Jiri Slaby |
2a37fc |
--- a/arch/x86/events/core.c
|
|
Jiri Slaby |
2a37fc |
+++ b/arch/x86/events/core.c
|
|
Jiri Slaby |
2a37fc |
@@ -1703,10 +1703,8 @@ int x86_pmu_handle_irq(struct pt_regs *regs)
|
|
Jiri Slaby |
2a37fc |
|
|
Jiri Slaby |
2a37fc |
perf_sample_data_init(&data, 0, event->hw.last_period);
|
|
Jiri Slaby |
2a37fc |
|
|
Jiri Slaby |
2a37fc |
- if (has_branch_stack(event)) {
|
|
Jiri Slaby |
2a37fc |
- data.br_stack = &cpuc->lbr_stack;
|
|
Jiri Slaby |
2a37fc |
- data.sample_flags |= PERF_SAMPLE_BRANCH_STACK;
|
|
Jiri Slaby |
2a37fc |
- }
|
|
Jiri Slaby |
2a37fc |
+ if (has_branch_stack(event))
|
|
Jiri Slaby |
2a37fc |
+ perf_sample_save_brstack(&data, event, &cpuc->lbr_stack);
|
|
Jiri Slaby |
2a37fc |
|
|
Jiri Slaby |
2a37fc |
if (perf_event_overflow(event, &data, regs))
|
|
Jiri Slaby |
2a37fc |
x86_pmu_stop(event, 0);
|
|
Jiri Slaby |
2a37fc |
--
|
|
Jiri Slaby |
2a37fc |
2.35.3
|
|
Jiri Slaby |
2a37fc |
|