Re: [EXT] Re: [PATCH] perf jevents: fix no member named 'entries' issue

From: Namhyung Kim
Date: Wed Sep 20 2023 - 00:16:38 EST


Hello,

On Tue, Sep 19, 2023 at 7:07 PM Xu Yang <xu.yang_2@xxxxxxx> wrote:
>
> Hi Lan,
>
> > On Tue, Sep 19, 2023 at 1:04 AM Xu Yang <xu.yang_2@xxxxxxx> wrote:
> > >
> > > The struct "pmu_events_table" has been changed after commit
> > > 2e255b4f9f41 (perf jevents: Group events by PMU, 2023-08-23).
> > > So there doesn't exist 'entries' in pmu_events_table anymore.
> > > This will align the members with that commit. Othewise, below
> > > errors will be printed when run jevent.py:
> > >
> > > pmu-events/pmu-events.c:5485:26: error: ‘struct pmu_metrics_table’ has no member named ‘entries’
> > > 5485 | .entries = pmu_metrics__freescale_imx8dxl_sys,
> > >
> > > Signed-off-by: Xu Yang <xu.yang_2@xxxxxxx>
> >
> > Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>
> >
> > Thanks Xu! I wasn't able to repeat the failure but the fix looks good
> > to me. Is the failure caused by adding new imx8dxl metrics? I'd like
>
> Yes.
>
> > to make sure we have testing coverage so this doesn't happen again.
> > I'm trying:
> > $ make -C tools/perf O=/tmp/perf JEVENTS_ARCH=all
> > Could you confirm that this make command was broken without your fix
> > plus the metric changes you've done?
>
> Below steps will repeat the failure.
>
> $ cd tools/
> $ rm perf/pmu-events/arch/arm64/freescale/imx8mm/sys/ddrc.json
> $ make clean
> $ make JEVENTS_ARCH=all perf
>
> pmu-events/pmu-events.c:76586:26: error: ‘struct pmu_metrics_table’ has no member named ‘entries’
> 76586 | .entries = pmu_metrics__freescale_imx8mm_sys,
> | ^~~~~~~
> pmu-events/pmu-events.c:76587:26: error: ‘struct pmu_metrics_table’ has no member named ‘length’
> 76587 | .length = ARRAY_SIZE(pmu_metrics__freescale_imx8mm_sys)
> | ^~~~~~
>
> If only metric table exists, then this error may occur.

I can reproduce the error and confirm it fixed.

Tested-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks,
Namhyung