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 Original line 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);
		perf_sample_data_init(&data, 0, event->hw.last_period);


		if (has_branch_stack(event)) {
		if (has_branch_stack(event))
			data.br_stack = &cpuc->lbr_stack;
			perf_sample_save_brstack(&data, event, &cpuc->lbr_stack);
			data.sample_flags |= PERF_SAMPLE_BRANCH_STACK;
		}


		if (perf_event_overflow(event, &data, regs))
		if (perf_event_overflow(event, &data, regs))
			x86_pmu_stop(event, 0);
			x86_pmu_stop(event, 0);