Re: [PATCH bpf-next 1/2] bpf/perf: Call perf_prepare_sample() before bpf_prog_run()
From: Peter Zijlstra
Date: Thu Dec 22 2022 - 15:17:20 EST
On Thu, Dec 22, 2022 at 09:34:42AM -0800, Namhyung Kim wrote:
> Sorry about that. Let me rephrase it like below:
>
> With bpf_cast_to_kern_ctx(), BPF programs attached to a perf event
> can access perf sample data directly from the ctx.
This is the bpf_prog_run() in bpf_overflow_handler(), right?
> But the perf sample
> data is not fully prepared at this point, and some fields can have invalid
> uninitialized values. So it needs to call perf_prepare_sample() before
> calling the BPF overflow handler.
It never was, why is it a problem now?
> But just calling perf_prepare_sample() can be costly when the BPF
So you potentially call it twice now, how's that useful?