LIBPFM(3)
π¦ LIBPFM(3) π¦
okay bestie, so this is a page from the Linux Programmer's Manual, and it's literally the libpfm docs for one very specific little corner of Intel's world. come sit with me π
πΈ NAME πΈ
libpfm_intel_skx_unc_pcu β the support page for the Intel Skylake X Power Controller Unit (PCU) uncore PMU. no cap, that's the whole name, that's the whole vibe.
β¨ SYNOPSIS β¨
#include <perfmon/pfmlib.h>
- PMU name:
skx_unc_pcu - PMU desc:
Intel Skylake X Server PCU uncore PMU
π DESCRIPTION π
so the library supports the Intel Skylake X Server Power Controller Unit uncore PMU. that's it, that's the tea π« β she does PCU uncore things, and now you know her name.
π MODIFIERS π
these are the modifiers supported on the Intel Skylake X server PCU uncore PMU, and yes you're gonna want to know all of them:
eβ turns on edge detection, meaning you only count when there's a state transition from no occurrence of the event to at least one occurrence. β οΈ this modifier must be combined with a threshold modifier (t) whose value is greater than or equal to one. it's a boolean modifier, so it's on or it's off, no in-between.tβ sets the threshold value. when you set it to something non-zero, the counter counts the number of HA cycles in which the number of occurrences of the event is greater than or equal to the threshold. it's an integer modifier, and its values live in the range[0:15].iβ inverts the meaning of the threshold or the edge filter. if it's set, the event counts when strictly less than N occurrences happen per cycle, when the threshold is set to N. if invert is set, then threshold must be set to a non-zero value. and if edge detection is set, then setting this means the event counts when the event transitions from occurring to not occurring (that's a falling edge, iykyk). this is a boolean modifier.
π Frequency band filtering π
there are 3 events which support frequency band filtering, namely, UNC_P_FREQ_BAND0_CYCLES, UNC_P_FREQ_BAND1_CYCLES, UNC_P_FREQ_BAND2_CYCLES, UNC_P_FREQ_BAND3_CYCLES.
the frequency filter (available via the ff modifier) gets stored into a PMU shared register that holds all 4 possible frequency bands, one per event. but here's the thing bestie β the library generates the encoding for each event individually, because it processes events one at a time. so the caller, or the underlying kernel interface, may have to merge the band filter settings together to program the filter register properly. π
π«Ά AUTHORS π«Ά
Stephane Eranian <eranian@gmail.com>
that's the whole page, you ate it π ok bye, this was January, 2018 energy and you just read LIBPFM(3) β go forth and count some uncore events, 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