LIBPFM(3)
π LIBPFM β libpfm_intel_icx_unc_iio π
okay bestie, this is a page from the Linux Programmer's Manual (that's the manual name, she's fancy like that β¨), and today's main character is libpfm_intel_icx_unc_iio β the support page for the Intel IcelakeX Server IIO uncore PMU. yes that's a mouthful. we're doing it anyway. π«Ά
β¨ NAME β¨
libpfm_intel_icx_unc_iio β support for Intel IcelakeX Server IIO uncore PMU
like. that's her. that's the whole vibe. she's here to help you count things in an IIO uncore PMU and she does it flawlessly. π
πΈ SYNOPSIS πΈ
#include <perfmon/pfmlib.h>
PMU name: icx_unc_iio[0-5]
PMU desc: Intel IcelakeX IIO uncore PMU
so you include the header, and the PMU answers to the name icx_unc_iio[0-5] β yeah, that bracket situation means there's a whole little squad of them, 0 through 5, no cap. πβ¨
π¦ DESCRIPTION π¦
The library supports the Intel IcelakeX IIO (I/O controller) uncore PMU. literally that's the job, that's what she does, and she ate. π₯
Each IIO PMU implements 4 generic counters plus free running counters β and okay, gentle heads up, the free running counters are not yet supported by libpfm4. π not a vibe, but it is what it is.
Also important, bestie: the current version of libpfm4 does not expose the fc_mask and ch_mask filters. why? because they're hardcoded in the events the library provides. so you can't tweak them, they're already decided for you. it's giving "the library made that choice, and honestly, we respect it." π
π MODIFIERS π
The following modifiers are supported on Intel IcelakeX IIO uncore PMU β these are your little seasoning packets, use them right:
eβ Enable edge detection, i.e., count only when there is a state transition from no occurrence of the event to at least one occurrence. This modifier must be combined with a threshold modifier (t) with a value greater or equal to one. This is a boolean modifier. so like, she only counts the moment it goes from zero to something. a glow-up moment. βtβ Set the threshold value. When set to a non-zero value, the counter counts the number of IIO clockticks 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]. remember that range, bestie, it stops at255. πiβ Invert the threshold (t) test from strictly greater than to less or equal to. This is a boolean modifier. she flips the whole comparison, iconic behavior. π
β οΈ real talk:edoes not work alone. it must be paired withtset to1or higher, or it's not doing anything for you. no solo performances allowed. π
π AUTHORS π
Stephane Eranian <eranian@gmail.com>
shoutout to the author, we love a legend. π
and that's the whole page, bestie!! November, 2023 energy, straight from the Linux Programmer's Manual, LIBPFM(3) β go forth and count your uncore events, you absolute genius. mwah. πβ¨π¦
π¦ 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