LIBPFM(3)
π LIBPFM(3) π
okay so bestie, welcome to the Linux Programmer's Manual, section 3, page LIBPFM. This one's all about the Intel Icelake X Server Mesh to Memory (M2M) uncore PMU support in libpfm. It's giving niche, it's giving powerful, it's giving slay. Let's get into it π«Ά
β¨ NAME β¨
libpfm_intel_icx_unc_m2m β support for the Intel Icelake X Server Mesh to Memory (M2M) uncore PMU. That's the whole vibe, no notes π
πΈ SYNOPSIS πΈ
#include <perfmon/pfmlib.h>
PMU name: icx_unc_m2m[0-1]
PMU desc: Intel Icelake X Server M2M uncore PMU
see how there's a [0-1] on the PMU name? Yeah bestie, there's more than one of them, and the library knows π
π¦ DESCRIPTION π¦
The library supports the Intel Icelake X Server Mesh to Memory (M2M) uncore PMU. That's it, that's the job, and it does it flawlessly β¨
π MODIFIERS π
Okay so these are the modifiers you can slap onto events on the Intel Icelake X server M2M uncore PMU. Read them, love them, use them correctly π
eβ Enables edge detection, meaning you only count when there's a state transition from no occurrence of the event to at least one occurrence. Heads up: you must pair this with a threshold modifier (t) whose value is greater than or equal to one. This is a boolean modifier.tβ Sets the threshold value. When you set it to something non-zero, the counter counts the number of M2M cycles in which the number of occurrences of the event is greater than or equal to the threshold. This is an integer modifier, and its values live in the range[0:255].iβ Inverts the threshold (t) test from strictly greater than to less or equal to. This is a boolean modifier.
fr fr, remember:ewithout atof at least1is not a thing. Do not try it. The modifier is literally built to be combined π
π AUTHORS π
Stephane Eranian <eranian@gmail.com> β thank you king, we are obsessed π«Άπ
and that's the whole page bestie!! this one's from November, 2023, and it lives at the bottom of LIBPFM(3) like a little signature. go forth and count some M2M cycles, no cap πβπ
π¦ 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 trixie: libpfm4-dev 4.13.0+git99-gc5587f9-1 Β· MIT
- 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.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
- 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