LIBPFM(3)
π LIBPFM(3) π
okay bestie, welcome to the Linux Programmer's Manual β this is the LIBPFM(3) page and it's literally all about one very specific lil PMU. sit down, grab a strawberry π, we're doing this.
β¨ NAME β¨
libpfm_amd64_fam1ah_zen5 β support for AMD64 Family 1Ah processors π
π¦ SYNOPSIS π¦
#include <perfmon/pfmlib.h>
PMU name: amd64_fam1ah_zen5 PMU desc: AMD64 Fam1Ah Zen5
πΈ DESCRIPTION πΈ
so the library supports AMD Family 1Ah processors Zen5 core PMU in both 32 and 64-bit modes. yes bestie, both. it's giving versatile. π
π MODIFIERS π
these are the modifiers supported on AMD64 Family 1Ah Zen5 core PMU, and no we are not skipping any of them, that would be so not slay of us:
uβ measure at user level, which includes privilege levels 1, 2, 3. this corresponds toPFM_PLM3. it's a boolean modifier. π«Άkβ measure at kernel level, which includes privilege level 0. this corresponds toPFM_PLM0. also a boolean modifier.hβ measure while executing in host mode (that's when you're using virtualization). this corresponds toPFM_PLMH. this modifier is available starting with Fam10h. boolean modifier, periodt.gβ measure while executing in guest mode (again, virtualization girlies rise up). this modifier is available starting with Fam10h. boolean modifier.iβ invert the meaning of the event. the counter will now count cycles in which the event is not occurring. this is a boolean modifier. lowkey chaotic but iconic.eβ enable edge detection, i.e., count only when there is a state transition. boolean modifier.cβ set the counter mask value. the mask acts as a threshold. the counter will count the number of 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]. π₯
fr fr,cis the only one here that isn't just true/false β it takes an actual number,[0:255], don't forget.
π§ AUTHORS π§
Swarup Sahoo
and that's the whole page bestie, we ate and left no crumbs β¨ this was the LIBPFM(3) page from the Linux Programmer's Manual, dated May, 2024 β mwah, go count some cycles ππ
π¦ 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