Intel® Xeon® Processor E5-2600 Product Family Uncore Performance Monitoring
102
Reference Number: 327043-001
"transfers" here refer to "fits". Therefore, in L0, the system will transfer 1 "flit" at the rate of 1/4th
the Intel® QPI speed. One can calculate the bandwidth of the link by taking: flits*80b/time. Note
that this is not the same as "data" bandwidth. For example, when we are transfering a 64B cache-
line across Intel® QPI, we will break it into 9 flits -- 1 with header information and 8 with 64 bits of
actual "data" and an additional 16 bits of other information. To calculate "data" bandwidth, one
should therefore do: data flits * 8B / time.
RxL_FLITS_G2
• Title:
Flits Received - Group 2
• Category:
FLITS_RX Events
• Event Code:
0x03
• Extra Select Bit:
Y
• Max. Inc/Cyc:
2,
Register Restrictions:
0-3
• Definition:
Counts the number of flits received from the Intel® QPI Link. This is one of three
"groups" that allow us to track flits. It includes filters for NDR, NCB, and NCS message classes.
Each "flit" is made up of 80 bits of information (in addition to some ECC data). In full-width (L0)
mode, flits are made up of four "fits", each of which contains 20 bits of data (along with some addi-
tional ECC data). In half-width (L0p) mode, the fits are only 10 bits, and therefore it takes twice as
many fits to transmit a flit. When one talks about Intel® QPI "speed" (for example, 8.0 GT/s), the
"transfers" here refer to "fits". Therefore, in L0, the system will transfer 1 "flit" at the rate of 1/4th
the Intel® QPI speed. One can calculate the bandwidth of the link by taking: flits*80b/time. Note
that this is not the same as "data" bandwidth. For example, when we are transfering a 64B cache-
line across Intel® QPI, we will break it into 9 flits -- 1 with header information and 8 with 64 bits of
actual "data" and an additional 16 bits of other information. To calculate "data" bandwidth, one
should therefore do: data flits * 8B / time.
Table 2-99. Unit Masks for RxL_FLITS_G1
Extension
umask
[15:8]
Description
SNP
bxxxxxxx1
SNP Flits:
Counts the number of snoop request flits received over Intel® QPI.
These requests are contained in the snoop channel. This does not
include snoop responses, which are received on the home channel.
HOM_REQ
bxxxxxx1x
HOM Request Flits:
Counts the number of data request received over Intel® QPI on the
home channel. This basically counts the number of remote memory
requests received over Intel® QPI. In conjunction with the local read
count in the Home Agent, one can calculate the number of LLC
Misses.
HOM_NONREQ
bxxxxx1xx
HOM Non-Request Flits:
Counts the number of non-request flits received over Intel® QPI on
the home channel. These are most commonly snoop responses, and
this event can be used as a proxy for that.
HOM
b00000110
HOM Flits:
Counts the number of flits received over Intel® QPI on the home
channel.
DRS_DATA
bxxxx1xxx
DRS Data Flits:
Counts the total number of data flits received over Intel® QPI on the
DRS (Data Response) channel. DRS flits are used to transmit data
with coherency. This does not count data flits received over the NCB
channel which transmits non-coherent data. This includes only the
data flits (not the header).
DRS_NONDATA
bxxx1xxxx
DRS Header Flits:
Counts the total number of protocol flits received over Intel® QPI on
the DRS (Data Response) channel. DRS flits are used to transmit
data with coherency. This does not count data flits received over the
NCB channel which transmits non-coherent data. This includes only
the header flits (not the data). This includes extended headers.
DRS
b00011000
DRS Flits (both Header and Data):
Counts the total number of flits received over Intel® QPI on the DRS
(Data Response) channel. DRS flits are used to transmit data with
coherency. This does not count data flits received over the NCB
channel which transmits non-coherent data.