162306a36Sopenharmony_ciWhat: /sys/devices/uncore_iio_x/dieX 262306a36Sopenharmony_ciDate: February 2020 362306a36Sopenharmony_ciContact: Alexander Antonov <alexander.antonov@linux.intel.com> 462306a36Sopenharmony_ciDescription: 562306a36Sopenharmony_ci Each IIO stack (PCIe root port) has its own IIO PMON block, so 662306a36Sopenharmony_ci each dieX file (where X is die number) holds "Segment:Root Bus" 762306a36Sopenharmony_ci for PCIe root port, which can be monitored by that IIO PMON 862306a36Sopenharmony_ci block. 962306a36Sopenharmony_ci For example, on 4-die Xeon platform with up to 6 IIO stacks per 1062306a36Sopenharmony_ci die and, therefore, 6 IIO PMON blocks per die, the mapping of 1162306a36Sopenharmony_ci IIO PMON block 0 exposes as the following:: 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci $ ls /sys/devices/uncore_iio_0/die* 1462306a36Sopenharmony_ci -r--r--r-- /sys/devices/uncore_iio_0/die0 1562306a36Sopenharmony_ci -r--r--r-- /sys/devices/uncore_iio_0/die1 1662306a36Sopenharmony_ci -r--r--r-- /sys/devices/uncore_iio_0/die2 1762306a36Sopenharmony_ci -r--r--r-- /sys/devices/uncore_iio_0/die3 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci $ tail /sys/devices/uncore_iio_0/die* 2062306a36Sopenharmony_ci ==> /sys/devices/uncore_iio_0/die0 <== 2162306a36Sopenharmony_ci 0000:00 2262306a36Sopenharmony_ci ==> /sys/devices/uncore_iio_0/die1 <== 2362306a36Sopenharmony_ci 0000:40 2462306a36Sopenharmony_ci ==> /sys/devices/uncore_iio_0/die2 <== 2562306a36Sopenharmony_ci 0000:80 2662306a36Sopenharmony_ci ==> /sys/devices/uncore_iio_0/die3 <== 2762306a36Sopenharmony_ci 0000:c0 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci Which means:: 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 3262306a36Sopenharmony_ci IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 3362306a36Sopenharmony_ci IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 3462306a36Sopenharmony_ci IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciWhat: /sys/devices/uncore_upi_x/dieX 3762306a36Sopenharmony_ciDate: March 2022 3862306a36Sopenharmony_ciContact: Alexander Antonov <alexander.antonov@linux.intel.com> 3962306a36Sopenharmony_ciDescription: 4062306a36Sopenharmony_ci Each /sys/devices/uncore_upi_X/dieY file holds "upi_Z,die_W" 4162306a36Sopenharmony_ci value that means UPI link number X on die Y is connected to UPI 4262306a36Sopenharmony_ci link Z on die W and this link between sockets can be monitored 4362306a36Sopenharmony_ci by UPI PMON block. 4462306a36Sopenharmony_ci For example, 4-die Sapphire Rapids platform has the following 4562306a36Sopenharmony_ci UPI 0 topology:: 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci # tail /sys/devices/uncore_upi_0/die* 4862306a36Sopenharmony_ci ==> /sys/devices/uncore_upi_0/die0 <== 4962306a36Sopenharmony_ci upi_1,die_1 5062306a36Sopenharmony_ci ==> /sys/devices/uncore_upi_0/die1 <== 5162306a36Sopenharmony_ci upi_0,die_3 5262306a36Sopenharmony_ci ==> /sys/devices/uncore_upi_0/die2 <== 5362306a36Sopenharmony_ci upi_1,die_3 5462306a36Sopenharmony_ci ==> /sys/devices/uncore_upi_0/die3 <== 5562306a36Sopenharmony_ci upi_0,die_1 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci Which means:: 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci UPI link 0 on die 0 is connected to UPI link 1 on die 1 6062306a36Sopenharmony_ci UPI link 0 on die 1 is connected to UPI link 0 on die 3 6162306a36Sopenharmony_ci UPI link 0 on die 2 is connected to UPI link 1 on die 3 6262306a36Sopenharmony_ci UPI link 0 on die 3 is connected to UPI link 0 on die 1