Provided by: libpfm4-dev_4.13.0+git32-g0d4ed0e-1_amd64 bug

NAME

       libpfm_intel_snbep_unc_cbo - support for Intel Sandy Bridge-EP C-Box uncore PMU

SYNOPSIS

       #include <perfmon/pfmlib.h>

       PMU name: snbep_unc_cbo[0-7]
       PMU desc: Intel Sandy Bridge-EP C-Box uncore PMU

DESCRIPTION

       The library supports the Intel Sandy Bridge C-Box (coherency engine) uncore PMU.  This PMU
       model only exists on Sandy Bridge model 45. There is one  C-box  PMU  per  physical  core.
       Therefore  there  are  eight  identical C-Box PMU instances numbered frmo 0 to 7. On dual-
       socket systems, the number refers to the C-Box PMU on the socket where the  program  runs.
       For  instance,  if  running  on CPU8, then snbep_unc_cbo0 refers to the C-Box for physical
       core 0 on socket 1. Conversely, if running on CPU0, then the same snbep_unc_cbo0 refers to
       the C-Box for physical core 0 but on socket 0.

       Each  C-Box PMU implements 4 generic counters and a filter register used only with certain
       events and umasks.

MODIFIERS

       The following modifiers are supported on Intel Sandy Bridge C-Box uncore PMU:

       i      Invert the meaning of the event. The counter will now count C-Box cycles  in  which
              the event is not occurring. This is a boolean modifier

       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  C-Box 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:255].

       nf     Node filter. Certain events, such as UNC_C_LLC_LOOKUP, UNC_C_LLC_VICTIMS, provide a
              NID umask.  Sometimes the NID is combined with other filtering  capabilities,  such
              as  opcodes.   The  node  filter  is  an 8-bit max bitmask. A node corresponds to a
              processor socket. The legal values therefore  depend  on  the  underlying  hardware
              configuration. For dual-socket systems, the bitmask has two valid bits [0:1].

       cf     Core  Filter. This is a 3-bit filter which is used to filter based on physical core
              origin of the C-Box request.  Possible  values  are  0-7.  If  the  filter  is  not
              specified, then no filtering takes place.

       tf     Thread  Filter. This is a 1-bit filter which is used to filter C-Box requests based
              on logical processor (hyper-thread) identification. Possibles values  are  0-1.  If
              the filter is not specified, then no filtering takes place.

Opcode filtering

       Certain   events,  such  as  UNC_C_TOR_INSERTS  supports  opcode  matching  on  the  C-BOX
       transaction type. To use this feature, first an opcode matching umask  must  be  selected,
       e.g.,  MISS_OPCODE.   Second,  the  opcode to match on must be selected via a second umask
       among the OPC_* umasks.  For instance, UNC_C_TOR_INSERTS:OPCODE:OPC_RFO, counts the number
       of TOR insertions for RFO transactions.

       Opcode  matching  may  be combined with node filtering with certain umasks. In general the
       filtering support is encoded into the umask name, e.g., NID_OPCODE supports both node  and
       opcode filtering. For instance, UNC_C_TOR_INSERTS:NID_OPCODE:OPC_RFO:nf=1.

AUTHORS

       Stephane Eranian <eranian@gmail.com>

                                           August, 2012                                 LIBPFM(3)