I did couple experements measuring QPI trafic with customized version of PCM.
I measured DATA, NONDATA and IDLE traffic over QPI link using two events RxL_FLITS_G0 and TxL_FLITS_G0. My expectations were that results of those events should be semetric. That is amount of data/nondata flits sent should be equal to amount of flits received and Idle rate should be similar for both reciver and transmitter. And also sum of all three would give maximum available bandwidth from QPI about 14 GB/sec.
Data and nodata results are consistent but for idle in case of collecting with TxL_FLITS_G0 consistency is lost.
For each link on idle Windows host I have the following numbers
DATA: 70 MB/sec
NONDATA: 46 MB/sec
IDLE: 88 MB/sec - while here I expected to see about 14000 MB/sec
I Use the following condifuration to collect IDLE flits count
configure_counter(0, Q_P_PCI_PMON_CTL_EN + Q_P_PCI_PMON_CTL_EVENT(0x00) + Q_P_PCI_PMON_CTL_UMASK(1));