LIBPFM(3)
π LIBPFM(3) β the Intel Skylake X Server IIO uncore PMU page π
okay bestie, welcome to the Linux Programmer's Manual β¨ this one lives in section 3, so get cozy π«Ά
πΈ NAME πΈ
libpfm_intel_skx_unc_ubo β no cap, this is the support for the Intel Skylake X Server IIO uncore PMU π
β¨ SYNOPSIS β¨
#include <perfmon/pfmlib.h>
- PMU name:
skx_unc_iio[0-5] - PMU desc: Intel Skylake X Server IIO uncore PMU
π¦ DESCRIPTION π¦
So this library supports the Intel Skylake X server IIO uncore PMU. And like, what is the IIO PMU even for? It's the one you use to analyze I/O traffic coming off the PCIe controllers π₯ that's its whole thing, that's the vibe.
π MODIFIERS π
These are the modifiers supported on the Intel Skylake X server IIO uncore PMU, and you're gonna want to know all of them:
eβ turns on edge detection π« meaning it only counts when there's a state transition from no occurrence of the event to at least one occurrence. Important: you HAVE to combine this modifier with a threshold modifier (t) with a value greater or equal to one, or it's not gonna do the thing. This one's a boolean modifier.tβ sets the threshold value π when you set it to a non-zero value, the counter counts the number of HA cycles in which the number of occurrences of the event is greater or equal to the threshold. It's an integer modifier and the values live in the range[0:15].iβ inverts the meaning of the threshold or edge filter π if set, the event counts when strictly less than N occurrences occur per cycle, given that threshold is set to N. When invert is set, then threshold must be set to a non-zero value β fr fr, no zero threshold with this one. And if set, the event counts when the event transitions from occurring to not occurring (that's the falling edge btw) when edge detection is set. Also a boolean modifier.
π§ Filters π§
The events UNC_IO_COMP_BUF_INSERTS, UNC_IO_DATA_REQ_BY_CPU, and UNC_IO_DATA_REQ_OF_CPU support additional filtering via a set of umasks that track requests completions π those umasks start with a FC_ prefix, iykyk.
The other filter is the port filter, and it's hardcoded as umasks for those same events. yeah, hardcoded. that's just how it is bestie π
π AUTHORS π
Stephane Eranian <eranian@gmail.com> β iconic, we love π
no gatekeeping here, this page is dated January, 2018 and it's part of LIBPFM(3). go forth and profile your PCIe traffic, main character π β¨
π¦ where this page comes from
- debian bookworm: libpfm4-dev 4.13.0-1 Β· MIT
- debian trixie: libpfm4-dev 4.13.0+git99-gc5587f9-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