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));
I'm guessing that the QPI system has some power savings mode built in to avoid sending pointless empty messages... but that is a guess at this point. It is also possible that the events aren't configured correctly or something else (the list is pretty big).
What sort of system (cpuid brand string, number of sockets, etc) are you using? Version of PCM?
Patric, the system is dual socket E5-2680 and I use my own CLI tool derived from PCM. So version number is irrelevant :)
The power saving is doubtful as for RxL monitoring result is consistent
And also sum of all three would give maximum available bandwidth from QPI about 14 GB/sec.
this is wrong because the link can be completely shutdown (in L1 power-saving QPI state) not sending any flits at all (no idle filts either).