|
NAME | SYNOPSIS | DESCRIPTION | MODIFIERS | Opcode filtering | AUTHORS | COLOPHON |
LIBPFM(3) Linux Programmer's Manual LIBPFM(3)
libpfm_intel_bdx_unc_cbo - support for Intel Broadwell Server C-Box
uncore PMU
#include <perfmon/pfmlib.h>
PMU name: bdx_unc_cbo[0-21]
PMU desc: Intel Broadwell Server C-Box uncore PMU
The library supports the Intel Broadwell Server C-Box (coherency
engine) uncore PMU. This PMU model exists on various Broadwell
server models (79, 86) . There is one C-box PMU per physical core.
Therefore there are up to twenty-one identical C-Box PMU instances
numbered from 0 to 21. On dual-socket systems, the number refers to
the C-Box PMU on the socket where the program runs. For instance, if
running on CPU18, then bdx_unc_cbo0 refers to the C-Box for physical
core 0 on socket 1. Conversely, if running on CPU0, then the same
bdx_unc_cbo0 refers to the C-Box for physical core 0 but on socket 0.
Each C-Box PMU implements 4 generic counters and two filter registers
used only with certain events and umasks.
The following modifiers are supported on Intel Broadwell C-Box 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 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 5-bit filter which is used to filter
based on physical core origin of the C-Box request. Possible
values are 0-63. If the filter is not specified, then no
filtering takes place. Bit 0-3 indicate the physical core id
and bit 4 filters on non thread-related data.
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.
nc Non-Coherent. This is a 1-bit filter which is used to filter
C-Box requests only for the TOR_INSERTS and TOR_OCCUPANCY
umasks using the OPCODE matcher. If the filter is not
specified, then no filtering takes place.
isoc Isochronous. This is a 1-bit filter which is used to filter C-
Box requests only for the TOR_INSERTS and TOR_OCCUPANCY umasks
using the OPCODE matcher. If the filter is not specified, then
no filtering takes place.
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.
Stephane Eranian <eranian@gmail.com>
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⟩ on 2017-07-05. If you dis‐
cover 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
June, 2017 LIBPFM(3)