1LIBPFM(3)                  Linux Programmer's Manual                 LIBPFM(3)
2
3
4

NAME

6       libpfm_intel_hswep_unc_cbo  - support for Intel Haswell-EP C-Box uncore
7       PMU
8

SYNOPSIS

10       #include <perfmon/pfmlib.h>
11
12       PMU name: hswep_unc_cbo[0-17]
13       PMU desc: Intel Haswell-EP C-Box uncore PMU
14
15

DESCRIPTION

17       The library supports the Intel Haswell C-Box (coherency engine)  uncore
18       PMU.   This  PMU model only exists on Haswell model 63. There is one C-
19       box PMU per physical core. Therefore there are up to eighteen identical
20       C-Box  PMU instances numbered from 0 to 17. On dual-socket systems, the
21       number refers to the C-Box PMU on the socket where  the  program  runs.
22       For instance, if running on CPU18, then hswep_unc_cbo0 refers to the C-
23       Box for physical core 0 on socket 1. Conversely, if  running  on  CPU0,
24       then  the  same  hswep_unc_cbo0 refers to the C-Box for physical core 0
25       but on socket 0.
26
27       Each C-Box PMU implements 4 generic counters and two  filter  registers
28       used only with certain events and umasks.
29
30

MODIFIERS

32       The  following  modifiers  are  supported on Intel Haswell C-Box uncore
33       PMU:
34
35       e      Enable edge detection, i.e., count only when there  is  a  state
36              transition  from  no  occurrence  of  the  event to at least one
37              occurrence. This modifier must be combined with a threshold mod‐
38              ifier (t) with a value greater or equal to one.  This is a bool‐
39              ean modifier.
40
41       t      Set the threshold value. When  set  to  a  non-zero  value,  the
42              counter counts the number of C-Box cycles in which the number of
43              occurrences of the event is greater or equal to  the  threshold.
44              This is an integer modifier with values in the range [0:255].
45
46       nf     Node   filter.   Certain   events,   such  as  UNC_C_LLC_LOOKUP,
47              UNC_C_LLC_VICTIMS, provide a NID umask.  Sometimes  the  NID  is
48              combined  with  other  filtering  capabilities, such as opcodes.
49              The node filter is an 8-bit max bitmask. A node corresponds to a
50              processor  socket.  The  legal  values  therefore  depend on the
51              underlying hardware configuration. For dual-socket systems,  the
52              bitmask has two valid bits [0:1].
53
54       cf     Core  Filter.  This  is  a  5-bit filter which is used to filter
55              based on physical core origin of  the  C-Box  request.  Possible
56              values are 0-63. If the filter is not specified, then no filter‐
57              ing takes place. Bit  0-3 indicate  the physical core id and bit
58              4 filters on non thread-related data.
59
60       tf     Thread Filter. This is a 1-bit filter which is used to filter C-
61              Box requests based on logical processor (hyper-thread) identifi‐
62              cation.  Possibles  values  are 0-1. If the filter is not speci‐
63              fied, then no filtering takes place.
64
65       nc     Non-Coherent. This is a 1-bit filter which is used to filter  C-
66              Box  requests  only for the TOR_INSERTS and TOR_OCCUPANCY umasks
67              using the OPCODE matcher. If the filter is not  specified,  then
68              no filtering takes place.
69
70       isoc   Isochronous.  This  is a 1-bit filter which is used to filter C-
71              Box requests only for the TOR_INSERTS and  TOR_OCCUPANCY  umasks
72              using  the  OPCODE matcher. If the filter is not specified, then
73              no filtering takes place.
74
75

Opcode filtering

77       Certain events, such as UNC_C_TOR_INSERTS supports opcode  matching  on
78       the C-BOX transaction type. To use this feature, first an opcode match‐
79       ing umask must be selected, e.g., MISS_OPCODE.  Second, the  opcode  to
80       match  on  must  be selected via a second umask among the OPC_* umasks.
81       For instance, UNC_C_TOR_INSERTS:OPCODE:OPC_RFO, counts  the  number  of
82       TOR insertions for RFO transactions.
83
84       Opcode  matching  may  be  combined  with  node  filtering with certain
85       umasks. In general, the filtering support is  encoded  into  the  umask
86       name,  e.g.,  NID_OPCODE  supports  both node and opcode filtering. For
87       instance, UNC_C_TOR_INSERTS:NID_OPCODE:OPC_RFO:nf=1.
88
89

AUTHORS

91       Stephane Eranian <eranian@gmail.com>
92
93
94
95                                   May, 2015                         LIBPFM(3)
Impressum