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

NAME

6       libpfm_intel_bdx_unc_cbo  -  support  for  Intel Broadwell Server C-Box
7       uncore PMU
8

SYNOPSIS

10       #include <perfmon/pfmlib.h>
11
12       PMU name: bdx_unc_cbo[0-21]
13       PMU desc: Intel Broadwell Server C-Box uncore PMU
14
15

DESCRIPTION

17       The library  supports  the  Intel  Broadwell  Server  C-Box  (coherency
18       engine)  uncore PMU.  This PMU model exists on various Broadwell server
19       models (79, 86) . There is one C-box PMU per physical  core.  Therefore
20       there  are up to twenty-one identical C-Box PMU instances numbered from
21       0 to 21. On dual-socket systems, the number refers to the C-Box PMU  on
22       the  socket  where the program runs. For instance, if running on CPU18,
23       then bdx_unc_cbo0 refers to the C-Box for physical core 0 on socket  1.
24       Conversely,  if  running  on CPU0, then the same bdx_unc_cbo0 refers to
25       the C-Box for physical core 0 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 Broadwell 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                                  June, 2017                         LIBPFM(3)
Impressum