Documentation/driver-api/cxl/platform/acpi/hmat.rst GitHub 원문 ↗

Linux 6.18.37 · Driver API / CXL / Platform / ACPI

HMAT - Heterogeneous Memory Attribute Table

HMAT SLLBI가 proximity domain별 memory latency와 bandwidth를 제공하는 방식을 설명합니다.

Source pathDocumentation/driver-api/cxl/platform/acpi/hmat.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

hmat.rst:1-32

HMAT의 latency·bandwidth 값은 Linux가 CXL memory를 적절한 memory tier에 놓고 weighted interleave를 구성하는 근거입니다. SRAT의 proximity domain과 함께 해석해야 합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ===========================================
4 HMAT - Heterogeneous Memory Attribute Table
5 ===========================================
6
7 The Heterogeneous Memory Attributes Table contains information such as cache
8 attributes and bandwidth and latency details for memory proximity domains.
9 For the purpose of this document, we will only discuss the SSLIB entry.
10
11 SLLBI
12 =====
13 The System Locality Latency and Bandwidth Information records latency and
14 bandwidth information for proximity domains.
15
16 This table is used by Linux to configure interleave weights and memory tiers.
17
18 Example (Heavily truncated for brevity) ::
19
20 Structure Type : 0001 [SLLBI]
21 Data Type : 00 <- Latency
22 Target Proximity Domain List : 00000000
23 Target Proximity Domain List : 00000001
24 Entry : 0080 <- DRAM LTC
25 Entry : 0100 <- CXL LTC
26
27 Structure Type : 0001 [SLLBI]
28 Data Type : 03 <- Bandwidth
29 Target Proximity Domain List : 00000000
30 Target Proximity Domain List : 00000001
31 Entry : 1200 <- DRAM BW
32 Entry : 0200 <- CXL BW
33

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

HMAT와 SLLBI

1-17
.. SPDX-License-Identifier: GPL-2.0

Heterogeneous Memory Attribute Table(HMAT)에는 memory proximity domain의 cache attribute, bandwidth, latency 같은 정보가 들어 있습니다. 이 문서에서는 SSLIB entry만 다룹니다. 다음 heading과 dump에서는 같은 항목을 `SLLBI`로 표기합니다.

System Locality Latency and Bandwidth Information(SLLBI)은 proximity domain의 latency와 bandwidth 정보를 기록합니다. Linux는 이 table로 interleave weight와 memory tier를 구성합니다.

SLLBI 예시

18-32

간략화한 예시는 두 target proximity domain에 대한 DRAM·CXL latency와 bandwidth entry를 각각 보여 줍니다.

              Structure Type : 0001 [SLLBI]
                   Data Type : 00         <- Latency
Target Proximity Domain List : 00000000
Target Proximity Domain List : 00000001
                       Entry : 0080       <- DRAM LTC
                       Entry : 0100       <- CXL LTC

              Structure Type : 0001 [SLLBI]
                   Data Type : 03         <- Bandwidth
Target Proximity Domain List : 00000000
Target Proximity Domain List : 00000001
                       Entry : 1200       <- DRAM BW
                       Entry : 0200       <- CXL BW
SLLBI latency와 bandwidth entry
MetricData TypeTarget DomainsDRAM EntryCXL Entry
Latency0000000000, 0000000100800100
Bandwidth0300000000, 0000000112000200

두 target proximity domain에 대응하는 DRAM과 CXL 성능 값을 metric별로 구조화했습니다.