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.

Reply via email to