LIBPFM(3)
π LIBPFM(3) β the QPI uncore era π
okay bestie, welcome to the Linux Programmer's Manual β¨ you're reading the page for libpfm_intel_snbep_unc_qpi, which is the little corner of libpfm that handles the Intel Sandy Bridge-EP QPI uncore PMU. yes, that's a lot of words. no, it's not that deep. let's go π«Ά
πΈ NAME πΈ
libpfm_intel_snbep_unc_qpi β support for the Intel Sandy Bridge-EP QPI uncore PMU
like... that's literally the whole job description. it supports the thing. periodt π
β¨ SYNOPSIS β¨
#include <perfmon/pfmlib.h>
PMU name: snbep_unc_qpi0, snbep_unc_qpi1
PMU desc: Intel Sandy Bridge-EP QPI uncore PMU
two PMUs, not one. don't forget the 0 and the 1, bestie, or you'll be out here querying a PMU that does not exist and feeling goofy π
π¦ DESCRIPTION π¦
so. this library supports the Intel Sandy Bridge Power QPI uncore PMU π
here's the vibe check: this PMU model only exists on Sandy Bridge model 45. not 42, not 47, not your cousin's laptop. model 45. if you don't have that, this page is not for you and honestly that's okay π
and like, there are two QPI PMUs per processor socket β that's your snbep_unc_qpi0 and snbep_unc_qpi1 right there. two besties. per socket. iconic π
π MODIFIERS π
the following modifiers are supported on the Intel Sandy Bridge QPI uncore PMU:
iβ invert the meaning of the event π the counter will now count QPI cycles in which the event is not occurring. it's a boolean modifier, so it's just on or off, no in-between, no drama.eβ enable edge detection β¨ i.e. count only when there's a state transition from no occurrence of the event to at least one occurrence. and listen β this modifier must be combined with a threshold modifier (t) with a value greater or equal to1. not optional. not "eh probably fine". it's required, fr fr π it's a boolean modifier.tβ set the threshold value ποΈ when set to a non-zero value, the counter counts the number of QPI cycles 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].
okay so real talk:tis the one that needs a number,iandeare just vibes-on/vibes-off, andeis lowkey nothing withoutt. that's the whole modifier situation. slay.
π AUTHORS π
Stephane Eranian <eranian@gmail.com>
and that's the page, bestie π«Ά this was LIBPFM(3) from the Linux Programmer's Manual, dated August, 2012 β shoutout to the archives, she's a vintage queen and she still ate πΈπ mwah, go query some QPI counters 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