LIBPFM(3)

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

okay bestie, welcome to the Linux Programmer's Manual, section 3, page LIBPFM(3) β€” and yes we're doing the deep lore today 🫢


✨ NAME ✨

libpfm_intel_hswep_unc_qpi β€” the whole entire support for the Intel Haswell-EP QPI uncore PMU 🌸


🌈 SYNOPSIS 🌈

#include <perfmon/pfmlib.h>

PMU name: hswep_unc_qpi0, hswep_unc_qpi1
PMU desc: Intel Haswell-EP QPI uncore PMU

like. that's the whole vibe check up top. two PMU names, one desc, iconic πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so this library supports the Intel Haswell Power QPI uncore PMU πŸ’… and listen β€” this PMU model only exists on Haswell model 63. that's it. that's the whole gatekeeping. if you're not on model 63 this page is not for you, no cap 😭


πŸŽ€ MODIFIERS πŸŽ€

these are the modifiers supported on the Haswell Bridge QPI uncore PMU ✨ (yes, Bridge, that's what it says, I don't make the rules):

  • e β€” turns on edge detection, meaning it only counts when there's a state transition from no occurrence of the event to at least one occurrence 🌟. heads up bestie: this modifier must be combined with a threshold modifier (t) whose value is greater than or equal to one. it's a boolean modifier, so it's giving on/off energy.
  • t β€” sets the threshold value 🎚️. when you set it to a non-zero value, the counter counts the number of QPI cycles in which the number of occurrences of the event is greater than or equal to the threshold. it's an integer modifier, values in the range [0:255]. periodt.
  • i β€” inverts the meaning of the threshold or edge filter πŸ™ƒ. if it's set, the event counts when strictly less than N occurrences happen per cycle, when the threshold is set to N. and when invert is set, the threshold must be set to a non-zero value β€” no zero, I'm serious. also: if it's set, the event counts when the event transitions from occurring to not occurring (that's a falling edge, gorgeous) when edge detection is set. it's a boolean modifier πŸ’œ

πŸ‘‘ AUTHORS πŸ‘‘

Stephane Eranian <eranian@gmail.com> β€” shoutout to the author, the main character of this page fr fr 🫢


okay that's the whole page, every flag and every rule, nothing skipped, we ate πŸ’…

and for the cute sign-off: this one's from the Linux Programmer's Manual, page LIBPFM(3), dated May, 2015 β€” oldie but a goodie, mwah πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from