Blame src/libpfm4/docs/man3/libpfm_intel_hswep_unc_cbo.3

Packit Service a1973e
.TH LIBPFM 3  "May, 2015" "" "Linux Programmer's Manual"
Packit Service a1973e
.SH NAME
Packit Service a1973e
libpfm_intel_hswep_unc_cbo - support for Intel Haswell-EP C-Box uncore PMU
Packit Service a1973e
.SH SYNOPSIS
Packit Service a1973e
.nf
Packit Service a1973e
.B #include <perfmon/pfmlib.h>
Packit Service a1973e
.sp
Packit Service a1973e
.B PMU name: hswep_unc_cbo[0-17]
Packit Service a1973e
.B PMU desc: Intel Haswell-EP C-Box uncore PMU
Packit Service a1973e
.sp
Packit Service a1973e
.SH DESCRIPTION
Packit Service a1973e
The library supports the Intel Haswell C-Box (coherency engine) uncore PMU.
Packit Service a1973e
This PMU model only exists on Haswell model 63. There is one C-box
Packit Service a1973e
PMU per physical core. Therefore there are up to eighteen identical C-Box PMU instances
Packit Service a1973e
numbered from 0 to 17. On dual-socket systems, the number refers to the C-Box
Packit Service a1973e
PMU on the socket where the program runs. For instance, if running on CPU18, then
Packit Service a1973e
hswep_unc_cbo0 refers to the C-Box for physical core 0 on socket 1. Conversely,
Packit Service a1973e
if running on CPU0, then the same hswep_unc_cbo0 refers to the C-Box for physical
Packit Service a1973e
core 0 but on socket 0.
Packit Service a1973e
Packit Service a1973e
Each C-Box PMU implements 4 generic counters and two filter registers used only
Packit Service a1973e
with certain events and umasks.
Packit Service a1973e
Packit Service a1973e
.SH MODIFIERS
Packit Service a1973e
The following modifiers are supported on Intel Haswell C-Box uncore PMU:
Packit Service a1973e
.TP
Packit Service a1973e
.B e
Packit Service a1973e
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.
Packit Service a1973e
.TP
Packit Service a1973e
.B t
Packit Service a1973e
Set the threshold value. When set to a non-zero value, the counter counts the number
Packit Service a1973e
of C-Box cycles in which the number of occurrences of the event is greater or equal to
Packit Service a1973e
the threshold.  This is an integer modifier with values in the range [0:255].
Packit Service a1973e
.TP
Packit Service a1973e
.B nf
Packit Service a1973e
Node filter. Certain events, such as UNC_C_LLC_LOOKUP, UNC_C_LLC_VICTIMS, provide a \fBNID\fR umask.
Packit Service a1973e
Sometimes the \fBNID\fR is combined with other filtering capabilities, such as opcodes.
Packit Service a1973e
The node filter is an 8-bit max bitmask. A node corresponds to a processor
Packit Service a1973e
socket. The legal values therefore depend on the underlying hardware configuration. For
Packit Service a1973e
dual-socket systems, the bitmask has two valid bits [0:1].
Packit Service a1973e
.TP
Packit Service a1973e
.B cf
Packit Service a1973e
Core Filter. This is a 5-bit filter which is used to filter based on physical core origin
Packit Service a1973e
of the C-Box request. Possible values are 0-63. If the filter is not specified, then no
Packit Service a1973e
filtering takes place. Bit  0-3 indicate  the physical core id and bit 4 filters on non
Packit Service a1973e
thread-related data.
Packit Service a1973e
.TP
Packit Service a1973e
.B tf
Packit Service a1973e
Thread Filter. This is a 1-bit filter which is used to filter C-Box requests based on logical
Packit Service a1973e
processor (hyper-thread) identification. Possibles values are 0-1. If the filter is not
Packit Service a1973e
specified, then no filtering takes place.
Packit Service a1973e
.TP
Packit Service a1973e
.B nc
Packit Service a1973e
Non-Coherent. This is a 1-bit filter which is used to filter C-Box requests only for the
Packit Service a1973e
TOR_INSERTS and TOR_OCCUPANCY umasks using the OPCODE matcher. If the filter is not
Packit Service a1973e
specified, then no filtering takes place.
Packit Service a1973e
.TP
Packit Service a1973e
.B isoc
Packit Service a1973e
Isochronous. This is a 1-bit filter which is used to filter C-Box requests only for the
Packit Service a1973e
TOR_INSERTS and TOR_OCCUPANCY umasks using the OPCODE matcher. If the filter is not
Packit Service a1973e
specified, then no filtering takes place.
Packit Service a1973e
Packit Service a1973e
.SH Opcode filtering
Packit Service a1973e
Packit Service a1973e
Certain events, such as UNC_C_TOR_INSERTS supports opcode matching on the C-BOX transaction
Packit Service a1973e
type. To use this feature, first an opcode matching umask must be selected, e.g., MISS_OPCODE.
Packit Service a1973e
Second, the opcode to match on must be selected via a second umask among the OPC_* umasks.
Packit Service a1973e
For instance, UNC_C_TOR_INSERTS:OPCODE:OPC_RFO, counts the number of TOR insertions for RFO
Packit Service a1973e
transactions.
Packit Service a1973e
Packit Service a1973e
Opcode matching may be combined with node filtering with certain umasks. In general, the
Packit Service a1973e
filtering support is encoded into the umask name, e.g., NID_OPCODE supports both
Packit Service a1973e
node and opcode filtering. For instance, UNC_C_TOR_INSERTS:NID_OPCODE:OPC_RFO:nf=1.
Packit Service a1973e
Packit Service a1973e
.SH AUTHORS
Packit Service a1973e
.nf
Packit Service a1973e
Stephane Eranian <eranian@gmail.com>
Packit Service a1973e
.if
Packit Service a1973e
.PP