LIBPFM(3)

πŸ’– LIBPFM(3) β€” the Linux Programmer's Manual, but make it cute ✨

okay bestie, gather round, because we're about to talk about libpfm_arm_ac53 and honestly? it's giving "tiny library, big responsibilities". this is the page for support for the ARM Cortex A53 PMU πŸŽ€


🌸 NAME 🌸

libpfm_arm_ac53 β€” support for ARM Cortex A53 PMU

no cap, that's the whole name. short, sweet, iconic πŸ’…


✨ SYNOPSIS ✨

first things first, you gotta pull in the header like so:

#include <perfmon/pfmlib.h>

and then the two little identity cards for this PMU:

  • PMU name: arm_ac53
  • PMU desc: ARM Cortex A53

that's it. that's the whole vibe check. πŸ¦‹


πŸ’« DESCRIPTION πŸ’«

so, the library supports the ARM Cortex A53 core PMU. that's the main character energy right there πŸ‘‘

now the deets, and I need you to actually remember these:

  • this PMU supports 6 counters β€” six! count them. on your fingers. six πŸ–οΈπŸ€š
  • it also does privilege levels filtering, which is exactly what it sounds like and yes it matters
  • and it can operate in both 32 and 64 bit modes, so it's flexible like that. versatile. adaptable. a queen 🌈

πŸŽ€ MODIFIERS πŸŽ€

these are the little suffixes you can sprinkle on your events. the following modifiers are supported on ARM Cortex A53:

  • 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. 🧚
heads up bestie: all three of these are boolean modifiers, meaning they're on-or-off, no in-between, no "a little bit of kernel", we don't do that here πŸ’…

πŸ‘‘ AUTHORS πŸ‘‘

  • Stephane Eranian <eranian@gmail.com>

big thank you to the author, genuinely, we stan 🫢


and that's the whole page, bestie!! πŸ’– this was the Linux Programmer's Manual, dated May, 2014, and the page is LIBPFM(3) β€” go forth and measure those counters responsibly ✨🌸πŸ’