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

How to get uncore_reference and datasheet v2 on v5 and v6 server platform

GHui
Novice
461 Views

I want to get membandwidth. I get it via iMC unit. I don't find the uncore_reference and datasheet v2 on v5 and v6 server platform on intel websit. How could I get them?

0 Kudos
6 Replies
Thomas_G_4
New Contributor II
461 Views

The documentation is not released yet. It is pretty common that the Uncore documentation is published a few weeks/months after release of the chip. :(

But even if there is no PDF, you can get all information you need from the Linux kernel sources where a Intel engineer has added the support for Skylake X already (https://github.com/torvalds/linux/blob/master/arch/x86/events/intel/uncore_snbep.c). The SKX PCI device IDs start at line 3705 including the ones for the IMCs. The event configurations for the IMC havn't changed since Haswell EP, see line 3559 and consequently line 2715.

0 Kudos
GHui
Novice
461 Views

I have signed CNDA. May I get these documents?

0 Kudos
Thomas_G_4
New Contributor II
461 Views

Ask your Intel contact about the document, they will tell you whether it is covered by your CNDA.
The probably faster way is to extract the data from the kernel file.

0 Kudos
GHui
Novice
461 Views

Yes, I have start to read the code in arch/x86/events/intel. I haven't found the Device 5 Func 0 DID, which contains cpubusno.

0 Kudos
Thomas_G_4
New Contributor II
461 Views

I don't know about this device 5 func 0. I check the PCI busses myself with the device IDs of the actual uncore units because in Skylake SP the uncore units for a socket are located on multiple PCI busses. Until Broadwell all uncore devices are located on a single PCI bus which made it much easier because you needed to determine the PCI bus for a socket only once. Now you have to search multiple busses for each unit.

0 Kudos
GHui
Novice
461 Views

The command "lspci -xxx -s 0:05.0" will get the DID.

It output like this. And 3c28 is DID. 

00:05.0 System peripheral: Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management (rev 07)
00: 86 80 28 3c 00 00 10 00 07 00 80 08 10 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 d9 15 62 06
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
40: 10 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 80 00 00 00 8c 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 80 7f 00 00 f0 7f
b0: 00 00 ff ff ff ff 07 00 00 00 00 00 00 00 00 00
c0: 00 00 ff ff ff ff 07 00 00 00 00 00 00 00 00 00
d0: 00 00 00 7c 00 00 00 7c 0e 00 00 00 00 00 00 00
e0: 00 00 00 fc ff ff ff ff 00 00 00 00 00 00 00 00
f0: 00 00 f8 ff ff ff ff ff 00 00 00 00 00 00 00 00

 

And the command "setpci -s 0:05.0 108.l" will get cpubusno.
 
 
 
0 Kudos
Reply