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
- arch rolling: libpfm 4.14.1-1 Β· MIT
- centos-stream 10: libpfm-devel 4.14.1-1.el10 Β· MIT
- centos-stream 9: libpfm-devel 4.14.1-1.el9 Β· MIT
- centos-stream 9: libpfm-devel 4.14.1-1.el9 Β· MIT
- debian bookworm: libpfm4-dev 4.13.0-1 Β· MIT
- debian trixie: libpfm4-dev 4.13.0+git99-gc5587f9-1 Β· MIT
- fedora 43: libpfm-devel 4.13.0-16.fc43 Β· MIT
- fedora 43: libpfm-devel 4.13.0-16.fc43 Β· MIT
- fedora 43: libpfm-devel 4.13.0-20.fc43
- fedora 43: libpfm-devel 4.13.0-20.fc43
- fedora 43: libpfm-devel 4.14.1-2.fc43 Β· MIT
- fedora 43: libpfm-devel 4.14.1-2.fc43 Β· MIT
- fedora 44: libpfm-devel 4.13.0-19.fc44 Β· MIT
- fedora 44: libpfm-devel 4.13.0-19.fc44 Β· MIT
- fedora 44: libpfm-devel 4.13.0-20.fc44
- fedora 44: libpfm-devel 4.13.0-20.fc44
- fedora 44: libpfm-devel 4.14.1-2.fc44 Β· MIT
- fedora 44: libpfm-devel 4.14.1-2.fc44 Β· MIT
- nixos 26.05: papi 7.2.0
- nixpkgs unstable: libpfm 4.14.1
- nixpkgs unstable: papi 7.2.0
- opensuse-leap 16.0: libpfm-devel 4.13.0-160000.3.1 Β· MIT
- ubuntu jammy: libpfm4-dev 4.11.1+git32-gd0b85fb-1 Β· BSD-like
- ubuntu jammy: libpfm4-dev 4.11.1+git32-gd0b85fb-1ubuntu0.1 Β· BSD-like
- ubuntu noble: libpfm4-dev 4.13.0+git32-g0d4ed0e-1 Β· MIT
- ubuntu noble: libpfm4-dev 4.13.0+git32-g0d4ed0e-1ubuntu0.1 Β· MIT
- ubuntu questing: libpfm4-dev 4.13.0+git99-gc5587f9-1
- ubuntu resolute: libpfm4-dev 4.13.0+git106-g3e4031b-1 Β· MIT
- ubuntu resolute: libpfm4-dev 4.13.0+git106-g3e4031b-1ubuntu0.1 Β· MIT
- ubuntu stonking: libpfm4-dev 4.13.0+git106-g3e4031b-1ubuntu1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms