LIBPFM(3)

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

okay bestie, so this one lives in the Linux Programmer's Manual and it's all about one very specific little PMU. welcome to libpfm_intel_snbep_unc_imc, we're getting into the memory controller's business πŸ’…


✨ NAME ✨

libpfm_intel_snbep_unc_imc β€” the library's support for the Intel Sandy Bridge-EP Integrated Memory Controller (IMC) uncore PMU. that's the whole vibe, that's the name, periodt.


🌸 SYNOPSIS 🌸

#include <perfmon/pfmlib.h>
  • PMU name: snbep_unc_imc[0-3]
  • PMU desc: Intel Sandy Bridge-EP IMC uncore PMU

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea β˜• β€” this library supports the Intel Sandy Bridge Integrated Memory Controller (IMC) uncore PMU.

ngl this PMU model is kinda exclusive: it only exists on Sandy Bridge model 45. nowhere else, not even a little bit. and if that wasn't enough, there are four IMC PMUs per socket β€” that's literally what the [0-3] in the name is doing, she's not decorative, she's a whole range πŸ‘‘


πŸ’œ MODIFIERS πŸ’œ

the following modifiers are supported on Intel Sandy Bridge C-Box uncore PMU (yes fr fr, that's what it says here β€” I'm just the messenger 🫢):

  • i β€” invert what the event means. your counter now counts IMC cycles in which the event is not occurring. flip it and reverse it ✨ this is a boolean modifier.
  • e β€” turn on edge detection, aka count only when there's a state transition from zero occurrences of the event to at least one occurrence. the glow-up moment only 🌈 heads up though: this modifier must be combined with a threshold modifier (t) with a value greater or equal to one. it's a boolean modifier.
  • t β€” set the threshold value. when you set it to a non-zero value, the counter counts the number of IMC cycles in which the number of occurrences of the event is greater or equal to the threshold. this one's an integer modifier, and the values live in the range [0:255] β€” stay in your lane, bestie πŸ’…

πŸŽ€ AUTHORS πŸŽ€

Stephane Eranian <eranian@gmail.com> β€” iconic, we love a credited author πŸ’–


and that's the whole page! credit where it's due: this is from the Linux Programmer's Manual, dated August, 2012, and it's section LIBPFM(3) β€” mwah, go read your counters, bestie πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from