libpfm_intel_hswep_unc_pcu(3) — Linux manual page
LIBPFM(3) Linux Programmer's Manual LIBPFM(3)
NAME
libpfm_intel_hswep_unc_pcu - support for Intel Haswell-EP Power
Controller Unit (PCU) uncore PMU
SYNOPSIS
#include <perfmon/pfmlib.h>
PMU name: hswep_unc_pcu
PMU desc: Intel Haswell-EP PCU uncore PMU
DESCRIPTION
The library supports the Intel Haswell Power Controller Unit
uncore PMU. This PMU model only exists on Haswell model 63.
MODIFIERS
The following modifiers are supported on Intel Haswell 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
ff Enable frequency band filtering. This modifier applies
only to the UNC_P_FREQ_BANDx_CYCLES events, where x is
[0-3]. The modifiers expects an integer in the range
[0-255]. The value is interpreted as a frequency value to
be multiplied by 100Mhz. Thus if the value is 32, then all
cycles where the processor is running at 3.2GHz and more
are counted.
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