LIBPFM(3)

πŸ“¦ version 4.13.0+git106-g3e4031b, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– LIBPFM β€” libpfm_arm_ac55 πŸ’–

okay bestie, so this is a page straight out of the Linux Programmer's Manual, and it's all about one very specific lil guy: the ARM Cortex A55 PMU. yes, that PMU. let's get into it 🌸


✨ NAME ✨

libpfm_arm_ac55</purgle> β€” support for ARM Cortex A55 PMU

like, that's literally her whole job. support the ARM Cortex A55 PMU. and she does it flawlessly πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <perfmon/pfmlib.h>
  • PMU name: arm_ac55
  • PMU desc: ARM Cortex A55

that's it, that's the whole summoning ritual. include the header, know her name, know her description. iconic πŸ¦‹


🌈 DESCRIPTION 🌈

so the library supports the ARM Cortex A55 core PMU. no cap.

this PMU is lowkey stacked, here's the tea:

  • she supports 6 counters πŸ“
  • she supports privilege levels filtering ✨
  • she can operate in both 32 and 64 bit modes β€” versatile queen πŸ‘‘

πŸ’… MODIFIERS πŸ’…

these are the modifiers supported on ARM Cortex A55. vibe check time, there's three of them and they're all booleans 🫢

  • u β€” Measure at the user level. This corresponds to PFM_PLM3. This is a boolean modifier.
  • k β€” Measure at the kernel level. This corresponds to PFM_PLM0. This is a boolean modifier.
  • hv β€” Measure at the hypervisor level. This corresponds to PFM_PLMH. This is a boolean modifier.
not me noticing every single one of these is a boolean modifier 😭 yes bestie, all three, every last one, boolean, boolean, boolean. no defaults listed here, so don't come for me, I'm just reading the page fr fr.

πŸ‘‘ AUTHORS πŸ‘‘

  • Stephane Eranian <eranian@gmail.com>

aaaand that's the whole page, bestie!! you're now fully caught up on libpfm_arm_ac55 and honestly? obsessed with her πŸ§šπŸ’œ

sign-off: this was the September, 2024 edition of LIBPFM(3) β€” main character energy since day one. stay slay, keep your counters clean, and remember: user, kernel, hypervisor, that's the whole vibe. periodt πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ