libpfm_intel_skx_unc_pcu(3) — Linux manual page
LIBPFM(3) Linux Programmer's Manual LIBPFM(3)
NAME
libpfm_intel_skx_unc_pcu - support for Intel Skylake X Power
Controller Unit (PCU) uncore PMU
SYNOPSIS
#include <perfmon/pfmlib.h>
PMU name: skx_unc_pcu
PMU desc: Intel Skylake X Server PCU uncore PMU
DESCRIPTION
The library supports the Intel Skylake X Server Power Controller
Unit uncore PMU.
MODIFIERS
The following modifiers are supported on Intel Skylake X server
PCU uncore PMU:
e Enable edge detection, i.e., count only when there is a
state transition from no occurrence of the event to at
least one occurrence. This modifier must be combined with
a threshold modifier (t) with a value greater or equal to
one. This is a boolean modifier.
t Set the threshold value. When set 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. This is an integer modifier with values in the
range [0:15].
i Invert the meaning of the threshold or edge filter. If
set, the event counts when strictly less than N
occurrences occur per cycle if threshold is set to N. When
invert is set, then threshold must be set to non-zero
value. If set, the event counts when the event transitions
from occurring to not occurring (falling edge) when edge
detection is set. This is a boolean modifier
Frequency band filtering
There are 3 events which support frequency band filtering,
namely, UNC_P_FREQ_BAND0_CYCLES, UNC_P_FREQ_BAND1_CYCLES,
UNC_P_FREQ_BAND2_CYCLES, UNC_P_FREQ_BAND3_CYCLES. The frequency
filter (available via the ff modifier) is stored into a PMU
shared register which hold all 4 possible frequency bands, one
per event. However, the library generate the encoding for each
event individually because it processes events one at a time. The
caller or the underlying kernel interface may have to merge the
band filter settings to program the filter register properly.
AUTHORS
Stephane Eranian <eranian@gmail.com>
COLOPHON
This page is part of the perfmon2 (a performance monitoring
library) project. Information about the project can be found at
⟨http://perfmon2.sourceforge.net/⟩. If you have a bug report for
this manual page, send it to
perfmon2-devel@lists.sourceforge.net. This page was obtained
from the project's upstream Git repository
⟨git://git.code.sf.net/p/perfmon2/libpfm4 perfmon2-libpfm4⟩ on
2024-06-14. (At that time, the date of the most recent commit
that was found in the repository was 2024-04-24.) If you
discover any rendering problems in this HTML version of the page,
or you believe there is a better or more up-to-date source for
the page, or you have corrections or improvements to the
information in this COLOPHON (which is not part of the original
manual page), send a mail to man-pages@man7.org