On Tue, Jan 10, 2023 at 2:55 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > On Mon, Jan 09, 2023 at 12:21:25PM -0800, Namhyung Kim wrote: > > > > However; inspired by your next patch; we can do something like so: > > > > > > if (filtered_sample_type & PERF_SAMPLE_CALLCHAIN) { > > > data->callchain = perf_callchain(event, regs); > > > data->sample_flags |= PERF_SAMPLE_CALLCHAIN; > > > > > > data->size += (1 + data->callchain->nr) * sizeof(u64); > > > } > > > > This is fine as long as all other places (like in PMU drivers) set the > > callchain update the sample data size accordingly. If not, we can get > > the callchain but the data size will be wrong. > > Good point, maybe add a helper there to ensure that code doesn't > duplicate/diverge? Sure, will do. Thanks, Namhyung