Uncore Manual

Uncore Performance Monitoring
Intel® QPI Link Layer Performance Monitoring
156 Reference Number: 329468-002
TxL_FLITS_G1
• Title: Flits Transferred - Group 1
• Category: FLITS_TX Events
• Event Code: 0x00
• Extra Select Bit: Y
• Max. Inc/Cyc:. 2, Register Restrictions: 0-3
• Definition: Counts the number of flits transmitted across 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-157. Unit Masks for TxL_FLITS_G0
Extension
umask
[15:8]
Description
DATA b00000010 Data Tx Flits
Number of data flits transmitted over QPI. Each flit contains 64b of
data. This includes both DRS and NCB data flits (coherent and non-
coherent). This can be used to calculate the data bandwidth of the
QPI link. One can get a good picture of the QPI-link characteristics by
evaluating the protocol flits, data flits, and idle/null flits. This does
not include the header flits that go in data packets.
NON_DATA b00000100 Non-Data protocol Tx Flits
Number of non-NULL non-data flits transmitted across QPI. This
basically tracks the protocol overhead on the QPI link. One can get a
good picture of the QPI-link characteristics by evaluating the protocol
flits, data flits, and idle/null flits. This includes the header flits for
data packets.
Table 2-158. Unit Masks for TxL_FLITS_G1
Extension
umask
[15:8]
Description
SNP b00000001 SNP Flits
Counts the number of snoop request flits transmitted over QPI.
These requests are contained in the snoop channel. This does
not include snoop responses, which are transmitted on the home
channel.
HOM_REQ b00000010 HOM Request Flits
Counts the number of data request transmitted over QPI on the
home channel. This basically counts the number of remote
memory requests transmitted 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 transmitted 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 transmitted over QPI on the home
channel.