Re: [PATCH 0/2] ARM/arm64: Mark all accessor functions inline

Mark Rutland
2023-05-09T11:26:51Z

On Mon, May 08, 2023 at 06:05:17PM +0200, Geert Uytterhoeven wrote:
> Hi all,
>
> This patch series adds missing "inline" keywords to the few perf
> accessors that lack them.
>
> BTW, I tried converting my local timing code to the new unified system.
> This works fine on arm64, but broke on arm32. Is read_pmccntr()
> supposed to work on arm32? I get an undefined instruction exception on
> Cortex A15 and A9.

That's expected.

This code is for PMUv3 (which was added as part of ARMv8), and one of the
things changed in PMUv3 was that PMCCNTR was expanded to 64 bits accessible via
MRRC and MCRR.

Previously, PMCCNTR was only 32 bits, and that's what Cortex-A9 and Cortex-A15
implement.

Thanks,
Mark.

> Before, my custom code used "mrc p15, 0, %0, c9,
> c13, 0" (as is also used in arch/arm/kernel/perf_event_v7.c), for which
> there is no accessor yet.
>
> Thanks for your comments!
>
> Geert Uytterhoeven (2):
> ARM: perf: Mark all accessor functions inline
> arm64: perf: Mark all accessor functions inline
>
> arch/arm/include/asm/arm_pmuv3.h | 6 +++---
> arch/arm64/include/asm/arm_pmuv3.h | 6 +++---
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> --
> 2.34.1
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds