libpfm_intel_hswep_unc_cbo
support for Intel Haswell-EP C-Box uncore PMU
- Provided by: libpfm4-dev (Version: 4.13.0+git32-g0d4ed0e-1ubuntu0.1)
- Source: libpfm4
- Report a bug
support for Intel Haswell-EP C-Box uncore PMU
#include <perfmon/pfmlib.h> PMU name: hswep_unc_cbo[0-17] PMU desc: Intel Haswell-EP C-Box uncore PMU
The library supports the Intel Haswell C-Box (coherency engine) uncore PMU. This PMU model only exists on Haswell model 63. There is one C-box PMU per physical core. Therefore there are up to eighteen identical C-Box PMU instances numbered from 0 to 17. 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 hswep_unc_cbo0 refers to the C-Box for physical core 0 on socket 1. Conversely, if running on CPU0, then the same hswep_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 Haswell C-Box uncore PMU:
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>