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

From: Xu Yang
Date: Tue Sep 19 2023 - 22:07:45 EST


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.

Thanks,
Xu Yang