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

From: Ian Rogers
Date: Tue Sep 19 2023 - 11:53:07 EST


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
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?

Thanks,
Ian

> ---
> tools/perf/pmu-events/jevents.py | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> index a7e88332276d..af15fa2cadbd 100755
> --- a/tools/perf/pmu-events/jevents.py
> +++ b/tools/perf/pmu-events/jevents.py
> @@ -764,8 +764,8 @@ static const struct pmu_sys_events pmu_sys_event_tables[] = {
> continue
> _args.output_file.write(f"""\t{{
> \t\t.metric_table = {{
> -\t\t\t.entries = {tblname},
> -\t\t\t.length = ARRAY_SIZE({tblname})
> +\t\t\t.pmus = {tblname},
> +\t\t\t.num_pmus = ARRAY_SIZE({tblname})
> \t\t}},
> \t\t.name = \"{tblname}\",
> \t}},
> --
> 2.34.1
>