LIBPFM(3)
π
LIBPFM β the libpfm_intel_bdx_unc_ubo page, bestie edition
okay so this is a page from the Linux Programmer's Manual, section 3 (that's the library section, iykyk). It's all about one very specific little PMU and honestly? she's niche but she's serving.
β¨ NAME β¨
libpfm_intel_bdx_unc_ubo β support for the Intel Broadwell Server U-Box uncore PMU π¦
πΈ SYNOPSIS πΈ
#include <perfmon/pfmlib.h>
PMU name: bdx_unc_ubo PMU desc: Intel Broadwell Server U-Box uncore PMU
π DESCRIPTION π
So the library supports the Intel Broadwell server system configuration unit (U-Box) uncore PMU. That's the whole vibe.
And likeβ¦ this PMU model only exists on various Broadwell server models β specifically 79 and 86. Not 79-and-a-half, not 86-adjacent. Those two. Periodt. π
π MODIFIERS π
Here's the lineup of modifiers supported on the Intel Broadwell server U-Box uncore PMU. Every single one, no skipping, we don't do that here:
eβ Enables edge detection, which means it counts only when there's a state transition from no occurrence of the event to at least one occurrence. Iconic, but she's got rules: this modifier must be combined with a threshold modifier (t) with a value greater than or equal to1. It'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 than or equal to the threshold. It's an integer modifier, and the values live in the range[0:15]. Yes, 16 whole options. Slay. β¨iβ Inverts the meaning of the threshold or edge filter. If it's set, the event counts when strictly less thanNoccurrences happen per cycle, if threshold is set toN. Heads up though: when invert is set, then threshold must be set to a non-zero value. And if edge detection is set, then setting this makes the event count when the event transitions from occurring to not occurring β that's a falling edge π. It's a boolean modifier.
ngl bestie,eandiare a package deal situation. Don't come crying to me when your event counts nothing because you set edge detection with no threshold. The manpage said it, I said it, it's canon. π
π AUTHORS π
Stephane Eranian <eranian@gmail.com> β the actual main character who made this whole thing happen. We stan. π
and that's the page, bestie!! β¨ this was section 3 of the Linux Programmer's Manual, dated June, 2017, and yeah β it's a LIBPFM(3) situation. go forth and count your uncore events responsibly ππ
π¦ 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