LIBPFM(3)
π LIBPFM(3) π
okay bestie, gather round, because we're about to talk about a page from the Linux Programmer's Manual and it's genuinely so niche and so specific and I am obsessed. π
β¨ NAME β¨
libpfm_amd64_k7 β support for AMD64 K7 processors
no cap, that's literally it. it's the support page for AMD64 K7 processors. short king energy but make it a man page. π
πΈ SYNOPSIS πΈ
#include <perfmon/pfmlib.h>
PMU name: amd64_k7
PMU desc: AMD64 K7
so like, you include that header, and the PMU you're vibing with is called amd64_k7, and its description is AMD64 K7. that's the whole summoning ritual, bestie. π¦
π DESCRIPTION π
The library supports AMD K7 processors in both 32 and 64-bit modes. yep, both. she's versatile, she's flexible, she contains multitudes. π
And β this is the part that makes her special β they correspond to processor family 6. fr fr. that's the family. write it down. π
β¨ MODIFIERS β¨
here come the modifiers, and there are five of them, and we are listing all five because we do not skip. the following modifiers are supported on AMD64 K7 processors:
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. it's a boolean modifier. π«Άiβ invert the meaning of the event. the counter will now count cycles in which the event is not occurring. it's a boolean modifier. not me flipping the entire meaning of reality with one letter πeβ enable edge detection, i.e. count only when there is a state transition. it's a boolean modifier. she only cares about the moments of change, main character behavior tbh. π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. it's an integer modifier with values in the range[0:255]. β
heads up bestie:u,k,iandeare booleans, butctakes an actual number, and that number has to live inside[0:255]. don't get it twisted. π
π AUTHORS π
the icons who made this happen:
- Stephane Eranian
<eranian@gmail.com> - Robert Richter
<robert.richter@amd.com>
give them their flowers, they earned them. π
and that's the whole page, bestie!! we ate, we left no crumbs, every single flag accounted for. π
sign-off time: this was LIBPFM(3), dated August, 2010, and honestly? timeless. iconic. periodt. πβ¨π
π¦ 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