LIBPFM(3)

πŸ’– LIBPFM(3) β€” bestie edition πŸ’–

okay so this is a page from the Linux Programmer's Manual, and it's all about libpfm_amd64_fam17h β€” the libpfm support for AMD64 Family 17h processors. yes we're doing performance monitoring today, stay with me, it's gonna be cute πŸŽ€


✨ NAME ✨

libpfm_amd64_fam17h β€” support for AMD64 Family 17h processors πŸ’…


🌸 SYNOPSIS 🌸

like, this is the vibe you include:

#include <perfmon/pfmlib.h>

and here's the ✨identity✨ of the thing we're talking about:

  • PMU name: amd64_fam17h (deprecated), amd_fam17h_zen1
  • PMU desc: AMD64 Fam17h Zen1

πŸ¦‹ DESCRIPTION πŸ¦‹

so the library supports the AMD Family 17h processors Zen1 core PMU, and it does it in both 32 and 64-bit modes. iconic, flexible, we love that for us. 🫢

now the tea β˜•: the amd64_fam17h PMU model name has been deprecated in favor of amd_fam17h_zen1. the old name is still hanging around for backward compatibility reasons (grandfathered in, respect), but bestie… it should not be used anymore. periodt. πŸ’€


πŸ‘‘ MODIFIERS πŸ‘‘

these are the modifiers supported on the AMD64 Family 17h Zen1 core PMU β€” think of them as the little accessories you can clip onto your event πŸŽ€:

  • u β€” measure at user level, which includes privilege levels 1, 2, 3. this corresponds to PFM_PLM3. this is a boolean modifier. βœ…
  • k β€” measure at kernel level, which includes privilege level 0. this corresponds to PFM_PLM0. this is a boolean modifier. βœ…
  • h β€” measure while executing in host mode (when using virtualization). this corresponds to PFM_PLMH. this modifier is available starting with Fam10h. this is a boolean modifier. πŸ–₯️
  • g β€” measure while executing in guest mode (when using virtualization). this modifier is available starting with Fam10h. this is a boolean modifier. 🧚
  • i β€” invert the meaning of the event. the counter will now count cycles in which the event is not occurring. this is a boolean modifier. πŸ”„
  • e β€” enable edge detection, i.e., count only when there is a state transition. this is a boolean modifier. ⚑
  • c β€” set the counter mask value. the mask acts as a threshold. the counter will count the number of cycles in which the number of occurrences of the event is greater or equal to the threshold. this is an integer modifier with values in the range [0:255]. πŸ”’

πŸ’œ AUTHORS πŸ’œ

  • Stephane Eranian <eranian@gmail.com> β€” the icon, the moment, the main character 🌟

and that's the whole page bestie!! this one shipped as part of the Linux Programmer's Manual, page LIBPFM(3), dated July, 2017. go forth and profile responsibly, ily, mwah πŸ’–βœ¨πŸŒˆ

πŸ“¦ where this page comes from