LIBPFM(3)
π LIBPFM(3) β the Intel Knights Corner girlies π
okay so bestie, welcome to the Linux Programmer's Manual page for LIBPFM(3), and we're talking about the Intel Knights Corner support specifically. pull up a chair, grab a boba, this one's short and sweet but it's everything π¦
β¨ NAME β¨
libpfm_intel_knc β support for Intel Knights Corner
like, that's the whole vibe. that's the name. it's giving "specialised library module for one specific chip" and honestly? iconic π
πΈ SYNOPSIS πΈ
#include <perfmon/pfmlib.h>
PMU name: knc
PMU desc: Intel Knights Corner
so you include that header, and the PMU you're working with goes by the name knc, described as Intel Knights Corner. periodt. π
π DESCRIPTION π
the library supports Intel Knights Corner processors. that's it, that's the description, no cap. short king behaviour fr fr. π«Ά
π MODIFIERS π
okay so these are the modifiers you can slap onto events on Intel Knights Corner processors, and every single one of them matters, so let's go one by one bestie:
uβ measure at user level, which includes privilege levels1,2,3. this corresponds toPFM_PLM3. this is a boolean modifier. πkβ measure at kernel level, which includes privilege level0. this corresponds toPFM_PLM0. this is a 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. not me flipping the whole meaning of your event πeβ enable edge detection, i.e., count only when there is a state transition. this is a 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]. lowkey the most extra one here and I respect it πtβ measure on all threads at the same time, assuming hyper-threading is enabled. this is a boolean modifier. multitasking main character energy β
heads up bestie:u,k,i,eandtare booleans, so it's a yes-or-no vibe.cis the only integer one and it lives strictly inside[0:255], so don't go freestyling outside that range. π«
π AUTHORS π
Stephane Eranian <eranian@gmail.com> β ty for your service, king π«‘
and that's the whole page, bestie! this edition of the Linux Programmer's Manual is dated September, 2012, and it's the LIBPFM(3) page, so that's your source and version right there. go forth and count some cycles, you've absolutely ate πβ¨π
π¦ 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