LIBPFM(3)
π NAME π
libpfm_intel_ivb_unc β bestie, this is the support for the Intel Ivy Bridge uncore PMU π
β¨ SYNOPSIS β¨
#include <perfmon/pfmlib.h>
PMU name: ivb_unc_cbo0, ivb_unc_cbo1, ivb_unc_cbo2, ivb_unc_cbo3
PMU desc: Intel Ivy Bridge C-box uncore
π¦ DESCRIPTION π¦
okay so. this library has your back for the Intel Ivy Bridge client part (model 58) uncore PMU π«Ά. right now the support is limited to the Coherency Box, aka the C-Box, and it covers up to 4 physical cores. it's giving "we started with the important part" energy, ngl.
so every physical core has its own little C-Box bestie that it uses to talk to the L3 cache π¬. and the way that all the C-boxes support the same set of events?? iconic. BUT β and this is the plot twist π«’ β the Core 0 C-box (snb_unc_cbo0) also supports one extra uncore clock ticks event: UNC_CLOCKTICKS. core 0 said main character energy and honestly? slay π.
πΈ MODIFIERS πΈ
here's the modifiers that are supported on the Intel Ivy Bridge C-Box uncore PMU, bestie, no gatekeeping:
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.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 π¦. this modifier must be combined with a counter mask modifier (m) with a value greater or equal to one. 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].
π¨ real talk: both theUNC_CBO_CACHE_LOOKUPandUNC_CBO_XSNP_RESPONSEevents require two umasks to be valid. no cap.
for UNC_CBO_CACHE_LOOKUP, the first umask must be one of the MESI state umasks, and the second has to be one of the filters β¨.
for UNC_CBO_XSNP_RESPONSE, the first umask must be one of the snoop types, and the second has to be one of the filters β¨.
like. two umasks or it doesn't count. periodt π .
π AUTHORS π
Stephane Eranian <eranian@gmail.com> π«Ά
and that's the whole vibe, bestie!! this page is from the Linux Programmer's Manual, it's LIBPFM(3), and it was written back in June, 2013 πΈ β go forth and profile your uncore like the icon you are πβ¨π
π¦ 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