LIBPFM(3)

πŸ’– LIBPFM(3) πŸ’–

okay bestie, welcome to the Linux Programmer's Manual page for libpfm β€” you're in the right place, pull up a chair πŸͺ‘βœ¨


🌸 NAME 🌸

libpfm_amd64_fam10h β€” support for AMD64 Family 10h processors πŸ’…


✨ SYNOPSIS ✨

#include <perfmon/pfmlib.h>

PMU name: amd64_fam10h_barcelona, amd64_fam10h_shanghai, amd64_fam10h_istanbul

PMU desc: AMD64 Fam10h Barcelona, AMD64 Fam10h Shanghai, AMD64 Fam10h Istanbul


πŸ¦‹ DESCRIPTION πŸ¦‹

so the library supports AMD Family 10h processors, and it does this in both 32-bit and 64-bit modes β€” yes, both, she's flexible πŸ’β€β™€οΈ

and those correspond to processor family 16. that's the number, don't forget it, it comes back later πŸ‘‘


πŸŽ€ MODIFIERS πŸŽ€

here's the modifier lineup for AMD64 Family 10h (16) processors β€” she's giving a whole collection, honestly obsessed 🫢

  • u β€” measure at user level, which includes privilege levels 1, 2, 3. this corresponds to PFM_PLM3. it's a boolean modifier ✨
  • k β€” measure at kernel level, which includes privilege level 0. this corresponds to PFM_PLM0. it's a boolean modifier ✨
  • h β€” measure while executing in host mode (that's when you're using virtualization, iykyk). this corresponds to PFM_PLMH. this modifier is available starting with Fam10h. it's a boolean modifier ✨
  • g β€” measure while executing in guest mode (again, that's virtualization hours πŸ–₯️). this modifier is available starting with Fam10h. it's a boolean modifier ✨
  • i β€” invert the meaning of the event. the counter will now count cycles in which the event is not occurring. it's a boolean modifier ✨
  • e β€” enable edge detection, i.e., count only when there is a state transition. it's 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]. no cap, that's the range πŸ’€

πŸ‘‘ AUTHORS πŸ‘‘

the icons who made this happen:

  • Stephane Eranian <eranian@gmail.com> πŸ’œ
  • Robert Richter <robert.richter@amd.com> πŸ’œ

okay that's the whole page bestie, you ate that. go profile something iconic πŸ”₯

signing off πŸŽ€ β€” this was the LIBPFM(3) page from the Linux Programmer's Manual, dated August, 2010 🌈 take care of her, she's vintage and she slays πŸ’…βœ¨

πŸ“¦ where this page comes from