LIBPFM(3)
π NAME π
libpfm_intel_icx_unc_pcu β bestie, this is the support for the Intel IcelakeX Server PCU uncore PMU. yes it's a mouthful. we'll get through it together π«Ά
β¨ SYNOPSIS β¨
#include <perfmon/pfmlib.h>
- PMU name:
icx_unc_pcu - PMU desc:
Intel IcelakeX PCU uncore PMU
πΈ DESCRIPTION πΈ
okay so. this library? it supports the Intel IcelakeX PCU β that's the Power Control Unit β uncore PMU. no cap.
here's the tea π: there is one PCU per system. just one. and each PCU PMU implements 4 generic counters. that's it, that's the whole thing. four. iconic behavior honestly.
π MODIFIERS π
the following modifiers are supported on the Intel IcelakeX PCU uncore PMU. these are your little knobs, your little levers, your little slay buttons β¨
eβ turns on edge detection, meaning it counts only when there's a state transition from no occurrence of the event to at least one occurrence. the way this works: you must pair it with a threshold modifier (t) whose value is greater or equal to one. it's a boolean modifier. fr fr.tβ sets the threshold value. when you set it to something non-zero, the counter counts the number of PCU clockticks in which the number of occurrences of the event is greater or equal to the threshold. it's an integer modifier, and its values live in the range[0:63]. that's the whole vibe check πiβ inverts the threshold (t) test, flipping it from strictly greater than to less or equal to. boolean modifier. simple as πocc_iβ inverts the threshold (t) for occupancy eventsPOWER_STATE_OCCUPANYtest, going from strictly greater than to less or equal to. also a boolean modifier. (yes, that spelling is exactly how it's written, do not come for me π)occ_eβ enables edge detection for occupancy eventsPOWER_STATE_OCCUPANCY, so it counts only when there's a state transition from no occurrence of the event to at least one occurrence. and same asebestie: this one must be combined with a threshold modifier (t) with a value greater or equal to one. boolean modifier, periodt.
π¨ heads up: botheandocc_eare useless on their own β they require a threshold modifier (t) set to at least1. don't skip that part, i'm begging π
π AUTHORS π
Stephane Eranian <eranian@gmail.com> β the main character who made this happen π
and that's the whole page, bestie!! this was the LIBPFM(3) page from the Linux Programmer's Manual, dated November, 2023 π thanks for reading, you ate that. go forth and count your counters π¦β¨π
π¦ 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 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