RE: [PATCH V3 1/5] perf/x86/intel/uncore: customized pmu event read for client IMC uncore

From: Thomas Gleixner
Date: Thu Nov 02 2017 - 11:39:19 EST


On Thu, 2 Nov 2017, Liang, Kan wrote:
> > On Thu, 2 Nov 2017, Liang, Kan wrote:
> > > > On Thu, 2 Nov 2017, Thomas Gleixner wrote:
> > > > But then you have this in uncore_perf_event_update():
> > > >
> > > > - if (event->hw.idx >= UNCORE_PMC_IDX_FIXED)
> > > > + if (event->hw.idx == UNCORE_PMC_IDX_FIXED)
> > > >
> > > > So how is that supposed to work?
> > >
> > > This is for generic code.
> > >
> > > In previous code, the event_read function for IMC use generic code.
> > > So we have to deal with >= in generic code.
> > >
> > > Now, customized event_read function 'snb_uncore_imc_event_read'
> > > is introduced for IMC. So IMC does not touch the generic code.
> > > The generic code is corrected here.
> >
> > The customized read function does not help at all.
> >
> > uncore_perf_event_update() is used from snb_uncore_imc_event_stop(). So
> > it's broken with this patch.
>
> Right, need to use the customized read function to replace it as well.
> I will fix it in next version.
>
> >
> > This is a complete and utter mess to review.
>
> Most of the customized functions will be clean up after the series is applied.

Correct, but please try to split 2/5 into parts as well. It's a hodgepodge
of new things and modifications to the code. The logical split is to add
the new data structures and struct members along with the inline helpers
and then in the next patch make use of it.

Thanks,

tglx