LIBPFM(3)

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

πŸ’– LIBPFM(3) β€” Linux Programmer's Manual πŸ’–

okay bestie, sit down, hydrate, and let me tell you about libpfm_arm_neoverse_v3, a whole entire page from the Linux Programmer's Manual. it's giving niche, it's giving powerful, it's giving "yes i know what a PMU is and yes i will be explaining it". πŸŽ€


✨ NAME ✨

libpfm_arm_neoverse_v3 β€” bestie, this is the support for the Arm Neoverse V3 core PMU. that's it, that's the job. πŸ‘‘


🌸 SYNOPSIS 🌸

like, here's how you even get to the function. copy it exactly, no improvising:

#include <perfmon/pfmlib.h>

PMU name: arm_v3
PMU desc: Arm Neoverse V3

so the PMU name you're gonna be typing is arm_v3, and the description it goes by is Arm Neoverse V3. remember those, iykyk. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the library straight up supports the Arm Neoverse V3 core PMU. no cap, that's literally the whole vibe. ✨

this PMU is lowkey stacked: it supports 6 counters plus privilege levels filtering. and it can operate in both 32 and 64 bit modes, so whichever one you're on, she's ready. main character energy fr fr. 🫢


πŸ’œ MODIFIERS πŸ’œ

the following modifiers are supported on Arm Neoverse V3 β€” these are the little letters you tack on to say where you wanna be measuring. so iconic:

  • u β€” measure at the user level. this one corresponds to PFM_PLM3. it's a boolean modifier, so it's on or it's off, no in-between. πŸ“
  • k β€” measure at the kernel level. this corresponds to PFM_PLM0. also a boolean modifier. ✨
  • hv β€” measure at the hypervisor level. this corresponds to PFM_PLMH. yep, boolean modifier too. πŸ’«

πŸ‘‘ AUTHORS πŸ‘‘

Stephane Eranian <eranian@gmail.com> β€” thank you for your service, legend. πŸ«‘πŸ’–


and that's the whole page bestie, you ate it. this little slice of documentation came out of September, 2024 and lives under the LIBPFM(3) name in the Linux Programmer's Manual. go forth and profile something gorgeous. 🌈⭐πŸ’