Uncore Manual

Uncore Performance Monitoring
Intel® QPI Link Layer Performance Monitoring
148 Reference Number: 329468-002
RxL_FLITS_G1
• Title: Flits Received - Group 1
• Category: FLITS_RX Events
• Event Code: 0x02
• Extra Select Bit: Y
• Max. Inc/Cyc:. 2, Register Restrictions: 0-3
• Definition: Counts the number of flits received from the QPI Link. This is one of three “groups”
that allow us to track flits. It includes filters for SNP, HOM, and DRS 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 additional 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 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 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 transferring a 64B cacheline across 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-143. Unit Masks for RxL_FLITS_G1
Extension
umask
[15:8]
Description
SNP b00000001 SNP Flits
Counts the number of snoop request flits received over QPI. These
requests are contained in the snoop channel. This does not include
snoop responses, which are received on the home channel.
HOM_REQ b00000010 HOM Request Flits
Counts the number of data request received over QPI on the home
channel. This basically counts the number of remote memory
requests received over QPI. In conjunction with the local read count
in the Home Agent, one can calculate the number of LLC Misses.
HOM_NONREQ b00000100 HOM Non-Request Flits
Counts the number of non-request flits received over 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 QPI on the home channel.
DRS_DATA b00001000 DRS Data Flits
Counts the total number of data flits received over 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 b00010000 DRS Header Flits
Counts the total number of protocol flits received over 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 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.