libpfm_intel_hswep_unc_pcu(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | MODIFIERS | Frequency band filtering | AUTHORS | COLOPHON

LIBPFM(3)               Linux Programmer's Manual              LIBPFM(3)

NAME         top

       libpfm_intel_hswep_unc_pcu - support for Intel Haswell-EP Power
       Controller Unit (PCU) uncore PMU

SYNOPSIS         top

       #include <perfmon/pfmlib.h>

       PMU name: hswep_unc_pcu
       PMU desc: Intel Haswell-EP PCU uncore PMU

DESCRIPTION         top

       The library supports the Intel Haswell Power Controller Unit
       uncore PMU.  This PMU model only exists on Haswell model 63.

MODIFIERS         top

       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         top

       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         top

       Stephane Eranian <eranian@gmail.com>

COLOPHON         top

       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
       2021-04-01.  (At that time, the date of the most recent commit
       that was found in the repository was 2021-03-23.)  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

                                May, 2015                      LIBPFM(3)