Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.
1787 Discussions

Question on Intel® Xeon® uncore performance counter IIO_CREDITS_REJECT

k1234
Beginner
2,957 Views

Hello,

 

I am trying to understand peer-to-peer (P2P) transmission behavior on an Intel® Xeon® Scalable processor (Intel® Xeon® Gold 6526Y) using uncore performance counters. I am focusing on the IIO_CREDITS_REJECT event (EventCode=0x34).

 

According to the document and the GitHub repo, there are 3 documented umasks for this event:

  • UMask=0x08 → UNC_M2P_IIO_CREDITS_REJECT.DRS

  • UMask=0x10 → UNC_M2P_IIO_CREDITS_REJECT.NCB

  • UMask=0x20 → UNC_M2P_IIO_CREDITS_REJECT.NCS

 

 

I ran an application on socket 1 that generates P2P traffic and collected performance counter data with the following command:

$ sudo perf stat -a --per-socket \
-e 'uncore_m2pcie_1/event=0x34,umask=0x08/' \
-e 'uncore_m2pcie_1/event=0x34,umask=0x10/' \
-e 'uncore_m2pcie_1/event=0x34,umask=0x20/' \
-e 'uncore_m2pcie_1/event=0x34,umask=0xff/' \
-- sleep 10

 Performance counter stats for 'system wide':

S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0x08/                                   
S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0x10/                                   
S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0x20/                                   
S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0xff/                                   
S1        1                  0      uncore_m2pcie_1/event=0x34,umask=0x08/                                   
S1        1                  0      uncore_m2pcie_1/event=0x34,umask=0x10/                                   
S1        1                  0      uncore_m2pcie_1/event=0x34,umask=0x20/                                   
S1        1     44,001,744,822      uncore_m2pcie_1/event=0x34,umask=0xff/                                   

      10.000831997 seconds time elapsed

I was trying to use umask=0xff to aggregate all sub-events. After narrowing things down, I found that umask=0x02 alone reproduces the large count:

$ sudo perf stat -a --per-socket \
-e 'uncore_m2pcie_1/event=0x34,umask=0x08/' \
-e 'uncore_m2pcie_1/event=0x34,umask=0x10/' \
-e 'uncore_m2pcie_1/event=0x34,umask=0x20/' \
-e 'uncore_m2pcie_1/event=0x34,umask=0x02/' \
-- sleep 10

 Performance counter stats for 'system wide':

S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0x08/                                   
S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0x10/                                   
S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0x20/                                   
S0        1                  0      uncore_m2pcie_1/event=0x34,umask=0x02/                                   
S1        1                  0      uncore_m2pcie_1/event=0x34,umask=0x08/                                   
S1        1                  0      uncore_m2pcie_1/event=0x34,umask=0x10/                                   
S1        1                  0      uncore_m2pcie_1/event=0x34,umask=0x20/                                   
S1        1     44,004,918,932      uncore_m2pcie_1/event=0x34,umask=0x02/                                   

      10.000857627 seconds time elapsed

Does the subevent uncore_m2pcie_1/event=0x34,umask=0x02 mean something? Is there any other document related with it?

Thanks!

0 Kudos
0 Replies
Reply