요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Cross-socket UPI link mapping
sysfs-devices-mapping:36-62uncore_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::
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
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
29
Which means::
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
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::
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
57
Which means::
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 |
| Date | 2020년 2월 |
| Contact | Alexander 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
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 |
| Date | 2022년 3월 |
| Contact | Alexander 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
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_iio_x 또는 uncore_upi_x PMON instance→dieX mapping file read→PCI Segment:Root Bus 또는 remote upi_Z,die_W 해석→올바른 root-port/link traffic monitoring
Sysfs value를 PMON block이 관찰하는 physical fabric endpoint로 해석합니다.
IIO PMON to PCI root-port mapping
sysfs-devices-mapping:1-35uncore_iio_x/dieX는 해당 die의 IIO PMON block으로 monitor할 PCIe root port를 Segment:Root Bus 형식으로 식별합니다.