LIBPFM(3)

πŸ’– LIBPFM(3) β€” the Intel Skylake X Server IIO uncore PMU page πŸ’–

okay bestie, welcome to the Linux Programmer's Manual ✨ this one lives in section 3, so get cozy 🫢


🌸 NAME 🌸

libpfm_intel_skx_unc_ubo β€” no cap, this is the support for the Intel Skylake X Server IIO uncore PMU πŸ’…


✨ SYNOPSIS ✨

#include <perfmon/pfmlib.h>
  • PMU name: skx_unc_iio[0-5]
  • PMU desc: Intel Skylake X Server IIO uncore PMU

πŸ¦‹ DESCRIPTION πŸ¦‹

So this library supports the Intel Skylake X server IIO uncore PMU. And like, what is the IIO PMU even for? It's the one you use to analyze I/O traffic coming off the PCIe controllers πŸ”₯ that's its whole thing, that's the vibe.


πŸŽ€ MODIFIERS πŸŽ€

These are the modifiers supported on the Intel Skylake X server IIO uncore PMU, and you're gonna want to know all of them:

  • e β€” turns on edge detection πŸ’« meaning it only counts when there's a state transition from no occurrence of the event to at least one occurrence. Important: you HAVE to combine this modifier with a threshold modifier (t) with a value greater or equal to one, or it's not gonna do the thing. This one's a boolean modifier.
  • t β€” sets the threshold value πŸ“ when you set it to a non-zero value, the counter counts the number of HA cycles in which the number of occurrences of the event is greater or equal to the threshold. It's an integer modifier and the values live in the range [0:15].
  • i β€” inverts the meaning of the threshold or edge filter πŸ™ƒ if set, the event counts when strictly less than N occurrences occur per cycle, given that threshold is set to N. When invert is set, then threshold must be set to a non-zero value β€” fr fr, no zero threshold with this one. And if set, the event counts when the event transitions from occurring to not occurring (that's the falling edge btw) when edge detection is set. Also a boolean modifier.

🧚 Filters 🧚

The events UNC_IO_COMP_BUF_INSERTS, UNC_IO_DATA_REQ_BY_CPU, and UNC_IO_DATA_REQ_OF_CPU support additional filtering via a set of umasks that track requests completions πŸ‘‘ those umasks start with a FC_ prefix, iykyk.

The other filter is the port filter, and it's hardcoded as umasks for those same events. yeah, hardcoded. that's just how it is bestie πŸ’œ


🌈 AUTHORS 🌈

Stephane Eranian <eranian@gmail.com> β€” iconic, we love πŸ’–


no gatekeeping here, this page is dated January, 2018 and it's part of LIBPFM(3). go forth and profile your PCIe traffic, main character πŸ’…βœ¨