SHORT QPI Link Layer data

EVENTSET
FIXC0 INSTR_RETIRED_ANY
FIXC1 CPU_CLK_UNHALTED_CORE
FIXC2 CPU_CLK_UNHALTED_REF
SBOX0C0 DIRECT2CORE_SUCCESS_RBT_HIT
SBOX1C0 DIRECT2CORE_SUCCESS_RBT_HIT
SBOX2C0 DIRECT2CORE_SUCCESS_RBT_HIT
SBOX0C1 TXL_FLITS_G0_DATA
SBOX1C1 TXL_FLITS_G0_DATA
SBOX2C1 TXL_FLITS_G0_DATA
SBOX0C2 TXL_FLITS_G0_NON_DATA
SBOX1C2 TXL_FLITS_G0_NON_DATA
SBOX2C2 TXL_FLITS_G0_NON_DATA
SBOX0C3 SBOX_CLOCKTICKS
SBOX1C3 SBOX_CLOCKTICKS
SBOX2C3 SBOX_CLOCKTICKS
SBOX0FIX QPI_RATE
SBOX1FIX QPI_RATE
SBOX2FIX QPI_RATE

METRICS
Runtime (RDTSC) [s] time
Runtime unhalted [s] FIXC1*inverseClock
Clock [MHz]  1.E-06*(FIXC1/FIXC2)/inverseClock
CPI  FIXC1/FIXC0
QPI Speed Link 0 [GT/s] ((SBOX0C3)/time)*inverseClock*(8/1000)
QPI Speed Link 1 [GT/s] ((SBOX1C3)/time)*inverseClock*(8/1000)
QPI Speed Link 2 [GT/s] ((SBOX2C3)/time)*inverseClock*(8/1000)
QPI Rate Link 0 [GT/s] 1.E-09*SBOX0FIX
QPI Rate Link 1 [GT/s] 1.E-09*SBOX1FIX
QPI Rate Link 2 [GT/s] 1.E-09*SBOX2FIX
data from QPI to LLC [MByte] 1.E-06*(SBOX0C0+SBOX1C0+SBOX2C0)*8
QPI data volume [MByte] 1.E-06*(SBOX0C1+SBOX1C1+SBOX2C1)*8
QPI data bandwidth [MByte/s] 1.E-06*(SBOX0C1+SBOX1C1+SBOX2C1)*8/time
QPI link volume [MByte] 1.E-06*(SBOX0C1+SBOX1C1+SBOX2C1+SBOX0C2+SBOX1C2+SBOX2C2)*8
QPI link bandwidth [MByte/s] 1.E-06*(SBOX0C1+SBOX1C1+SBOX2C1+SBOX0C2+SBOX1C2+SBOX2C2)*8/time

LONG
Formulas:
QPI Speed Link 0/1/2 [GT/s] = ((SBOX_CLOCKTICKS)/time)*clock*(8/1000)
QPI Rate Link 0/1/2 [GT/s] = 1.E-09*(QPI_RATE)
data from QPI to LLC [MByte] = 1.E-06*(sum(DIRECT2CORE_SUCCESS_RBT_HIT)*64)
QPI data volume [MByte] = 1.E-06*(sum(TXL_FLITS_G0_DATA)*8)
QPI data bandwidth [MByte/s] = 1.E-06*(sum(TXL_FLITS_G0_DATA)*8)/runtime
QPI link volume [MByte] = 1.E-06*((sum(TXL_FLITS_G0_DATA)+sum(TXL_FLITS_G0_NON_DATA))*8)
QPI link bandwidth [MByte/s] = 1.E-06*((sum(TXL_FLITS_G0_DATA)+sum(TXL_FLITS_G0_NON_DATA))*8)/runtime
--
The Intel QPI Link Layer is responsible for packetizing requests from the caching agent (CBOXes)
on the way out to the system interface.

