Commit 90befef5 authored by Namhyung Kim's avatar Namhyung Kim Committed by Peter Zijlstra
Browse files

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: eb55b455 ("perf/core: Add perf_sample_save_brstack() helper")
Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20230427030527.580841-1-namhyung@kernel.org
parent 1d1bfe30
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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);