← Documents Documentation/ABI/testing/sysfs-devices-mapping GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

Intel uncore IIO and UPI topology mapping ABI

Die별 IIO PMON block의 PCI Segment:Root Bus mapping과 socket 사이 UPI link-to-link topology mapping을 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-devices-mapping
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

IIO PMON to PCI root-port mapping

sysfs-devices-mapping:1-35

uncore_iio_x/dieX는 해당 die의 IIO PMON block으로 monitor할 PCIe root port를 Segment:Root Bus 형식으로 식별합니다.

Cross-socket UPI link mapping

sysfs-devices-mapping:36-62

uncore_upi_X/dieY는 local UPI link X가 연결된 remote upi_Z,die_W endpoint를 표시해 UPI PMON monitoring topology를 제공합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/devices/uncore_iio_x/dieX
2 Date: February 2020
3 Contact: Alexander Antonov <alexander.antonov@linux.intel.com>
4 Description:
5 Each IIO stack (PCIe root port) has its own IIO PMON block, so
6 each dieX file (where X is die number) holds "Segment:Root Bus"
7 for PCIe root port, which can be monitored by that IIO PMON
8 block.
9 For example, on 4-die Xeon platform with up to 6 IIO stacks per
10 die and, therefore, 6 IIO PMON blocks per die, the mapping of
11 IIO PMON block 0 exposes as the following::
12
13 $ ls /sys/devices/uncore_iio_0/die*
14 -r--r--r-- /sys/devices/uncore_iio_0/die0
15 -r--r--r-- /sys/devices/uncore_iio_0/die1
16 -r--r--r-- /sys/devices/uncore_iio_0/die2
17 -r--r--r-- /sys/devices/uncore_iio_0/die3
18
19 $ tail /sys/devices/uncore_iio_0/die*
20 ==> /sys/devices/uncore_iio_0/die0 <==
21 0000:00
22 ==> /sys/devices/uncore_iio_0/die1 <==
23 0000:40
24 ==> /sys/devices/uncore_iio_0/die2 <==
25 0000:80
26 ==> /sys/devices/uncore_iio_0/die3 <==
27 0000:c0
28
29 Which means::
30
31 IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000
32 IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000
33 IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000
34 IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000
35
36 What: /sys/devices/uncore_upi_x/dieX
37 Date: March 2022
38 Contact: Alexander Antonov <alexander.antonov@linux.intel.com>
39 Description:
40 Each /sys/devices/uncore_upi_X/dieY file holds "upi_Z,die_W"
41 value that means UPI link number X on die Y is connected to UPI
42 link Z on die W and this link between sockets can be monitored
43 by UPI PMON block.
44 For example, 4-die Sapphire Rapids platform has the following
45 UPI 0 topology::
46
47 # tail /sys/devices/uncore_upi_0/die*
48 ==> /sys/devices/uncore_upi_0/die0 <==
49 upi_1,die_1
50 ==> /sys/devices/uncore_upi_0/die1 <==
51 upi_0,die_3
52 ==> /sys/devices/uncore_upi_0/die2 <==
53 upi_1,die_3
54 ==> /sys/devices/uncore_upi_0/die3 <==
55 upi_0,die_1
56
57 Which means::
58
59 UPI link 0 on die 0 is connected to UPI link 1 on die 1
60 UPI link 0 on die 1 is connected to UPI link 0 on die 3
61 UPI link 0 on die 2 is connected to UPI link 1 on die 3
62 UPI link 0 on die 3 is connected to UPI link 0 on die 1

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

IIO PMON block to PCI root-port mapping

1-35
항목한국어 전문 번역
What/sys/devices/uncore_iio_x/dieX
Date2020년 2월
ContactAlexander Antonov <alexander.antonov@linux.intel.com>
Description각 IIO stack(PCIe root port)에는 자체 IIO PMON block이 있습니다. 따라서 각 dieX file에서 X는 die number이며, 해당 IIO PMON block으로 monitor할 수 있는 PCIe root port의 "Segment:Root Bus"를 담습니다. Die마다 최대 6개 IIO stack, 즉 6개 IIO PMON block이 있는 4-die Xeon platform에서 아래 예는 IIO PMON block 0 mapping을 보여 줍니다.
$ ls /sys/devices/uncore_iio_0/die*
-r--r--r-- /sys/devices/uncore_iio_0/die0
-r--r--r-- /sys/devices/uncore_iio_0/die1
-r--r--r-- /sys/devices/uncore_iio_0/die2
-r--r--r-- /sys/devices/uncore_iio_0/die3

$ tail /sys/devices/uncore_iio_0/die*
==> /sys/devices/uncore_iio_0/die0 <==
0000:00
==> /sys/devices/uncore_iio_0/die1 <==
0000:40
==> /sys/devices/uncore_iio_0/die2 <==
0000:80
==> /sys/devices/uncore_iio_0/die3 <==
0000:c0

IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000
IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000
IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000
IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000
Example IIO PMON 0 mapping
Die fileSegmentRoot Bus
die0000000
die1000040
die2000080
die30000c0

4-die Xeon example의 Segment:Root Bus 값입니다.

UPI link-to-link topology mapping

36-62
항목한국어 전문 번역
What/sys/devices/uncore_upi_x/dieX
Date2022년 3월
ContactAlexander Antonov <alexander.antonov@linux.intel.com>
Description각 /sys/devices/uncore_upi_X/dieY file은 "upi_Z,die_W" value를 담습니다. 이는 die Y의 UPI link number X가 die W의 UPI link Z에 연결되며 socket 사이 이 link를 UPI PMON block으로 monitor할 수 있다는 뜻입니다. 아래는 4-die Sapphire Rapids platform의 UPI 0 topology 예입니다.
# tail /sys/devices/uncore_upi_0/die*
==> /sys/devices/uncore_upi_0/die0 <==
upi_1,die_1
==> /sys/devices/uncore_upi_0/die1 <==
upi_0,die_3
==> /sys/devices/uncore_upi_0/die2 <==
upi_1,die_3
==> /sys/devices/uncore_upi_0/die3 <==
upi_0,die_1

UPI link 0 on die 0 is connected to UPI link 1 on die 1
UPI link 0 on die 1 is connected to UPI link 0 on die 3
UPI link 0 on die 2 is connected to UPI link 1 on die 3
UPI link 0 on die 3 is connected to UPI link 0 on die 1
Example UPI 0 topology
Local endpointRemote endpoint
die0 / UPI 0die1 / UPI 1
die1 / UPI 0die3 / UPI 0
die2 / UPI 0die3 / UPI 1
die3 / UPI 0die1 / UPI 0

각 local die의 UPI link 0이 연결된 remote endpoint입니다.

Uncore mapping purpose
uncore_iio_x 또는 uncore_upi_x PMON instancedieX mapping file readPCI Segment:Root Bus 또는 remote upi_Z,die_W 해석올바른 root-port/link traffic monitoring

Sysfs value를 PMON block이 관찰하는 physical fabric endpoint로 해석합니다.