[tip:,perf/urgent] perf/x86: Fix missing sample size update on AMD BRS

Message ID 168372515291.404.10094366236022202082.tip-bot2@tip-bot2
State New
Headers
Series [tip:,perf/urgent] perf/x86: Fix missing sample size update on AMD BRS |

Commit Message

tip-bot2 for Thomas Gleixner May 10, 2023, 1:25 p.m. UTC
  The following commit has been merged into the perf/urgent branch of tip:

Commit-ID:     90befef5a9e820ccccc33181ec14c015980300cc
Gitweb:        https://git.kernel.org/tip/90befef5a9e820ccccc33181ec14c015980300cc
Author:        Namhyung Kim <namhyung@kernel.org>
AuthorDate:    Wed, 26 Apr 2023 20:05:27 -07:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Mon, 08 May 2023 10:58:26 +02:00

perf/x86: Fix missing sample size update on AMD BRS

It missed to convert a PERF_SAMPLE_BRANCH_STACK user to call the new
perf_sample_save_brstack() helper in order to update the dyn_size.
This affects AMD Zen3 machines with the branch-brs event.

Fixes: eb55b455ef9c ("perf/core: Add perf_sample_save_brstack() helper")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20230427030527.580841-1-namhyung@kernel.org
---
 arch/x86/events/core.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
  

Patch

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index d096b04..9d24870 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -1703,10 +1703,8 @@  int x86_pmu_handle_irq(struct pt_regs *regs)
 
 		perf_sample_data_init(&data, 0, event->hw.last_period);
 
-		if (has_branch_stack(event)) {
-			data.br_stack = &cpuc->lbr_stack;
-			data.sample_flags |= PERF_SAMPLE_BRANCH_STACK;
-		}
+		if (has_branch_stack(event))
+			perf_sample_save_brstack(&data, event, &cpuc->lbr_stack);
 
 		if (perf_event_overflow(event, &data, regs))
 			x86_pmu_stop(event, 0);