LIBPFM(3)

πŸ’– LIBPFM(3) β€” the intel_atom era πŸ’–

okay so bestie, this is the libpfm_intel_atom page from the Linux Programmer's Manual (yes, section 3, we're fancy like that) and it's literally all about making Intel Atom processors spill their little performance-counter secrets. no cap. πŸ¦‹


✨ NAME ✨

libpfm_intel_atom β€” support for Intel Atom processors πŸ’…


🌸 SYNOPSIS 🌸

like, here's the whole vibe:

#include <perfmon/pfmlib.h>
PMU name: atom
PMU desc: Intel Atom

so the PMU name is atom and the description is literally Intel Atom. iconic of her honestly. πŸŽ€


πŸ’« DESCRIPTION πŸ’«

This library has your back for every single Intel Atom-based processor, and yes, that includes family 6 model 28. periodt. πŸ”₯


🧚 MODIFIERS 🧚

okay bestie here's where it gets juicy β€” these are the modifiers that work on Intel Atom processors. each one is a little toggle that changes how your counter behaves, and you're gonna want to know all six. no skipping. πŸ’œ

  • u β€” measures at user level, which covers privilege levels 1, 2, 3. this one lines up with PFM_PLM3. it's a boolean modifier, so it's just on or off, no in-between. ✨
  • k β€” measures at kernel level, which is privilege level 0. this maps to PFM_PLM0. also a boolean modifier, also just vibes. 🫢
  • i β€” inverts the meaning of the event. so now the counter is counting cycles where the event is not happening. it's giving "not me counting the thing, counting the absence of the thing." boolean modifier, obviously. πŸ’€
  • e β€” turns on edge detection, meaning it only counts when there's a state transition. no transitions, no counting. it's a boolean modifier. πŸ¦‹
  • c β€” sets the counter mask value. the mask acts like a threshold: the counter counts the number of cycles in which the number of occurrences of the event is greater or equal to that threshold. this one is an integer modifier and the values live in the range [0:255]. so yeah, actual numbers here, not just a toggle. πŸ’…
  • t β€” measures on both threads at the same time, assuming hyper-threading is enabled. boolean modifier, bestie. 🌈

πŸ‘‘ AUTHORS πŸ‘‘

Stephane Eranian <eranian@gmail.com>


okay that's the whole page, bestie, you ate it up. πŸ’– this one's signed off September, 2009, brought to you by the Linux Programmer's Manual as LIBPFM(3) β€” section 3 forever, iykyk. β­πŸŽ€βœ¨

πŸ“¦ where this page comes from