Re: [PATCH v1 4/6] perf: Allow using AUX data in perf samples

From: Peter Zijlstra
Date: Thu Jun 14 2018 - 15:39:24 EST


On Thu, Jun 14, 2018 at 09:25:13PM +0200, Peter Zijlstra wrote:
> On Tue, Jun 12, 2018 at 10:51:15AM +0300, Alexander Shishkin wrote:
> > @@ -882,6 +890,7 @@ struct perf_sample_data {
> > */
> > u64 addr;
> > struct perf_raw_record *raw;
> > + struct perf_aux_record aux;
> > struct perf_branch_stack *br_stack;
> > u64 period;
> > u64 weight;
> > @@ -933,6 +942,7 @@ static inline void perf_sample_data_init(struct perf_sample_data *data,
> > /* remaining struct members initialized in perf_prepare_sample() */
> > data->addr = addr;
> > data->raw = NULL;
> > + data->aux.from = data->aux.to = data->aux.size = 0;
> > data->br_stack = NULL;
> > data->period = period;
> > data->weight = 0;
>
> You just blew that cacheline...

And since the whole aux_sample thing seems to be purely prepare/output
driven, I really don't see the need why this needs to be here. AFAICT it
should just work fine in the other part of this structure.