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?