Documentation/driver-api/cxl/allocation/hugepages.rst GitHub 원문 ↗

Linux 6.18.37 · Driver API / CXL / Allocation

Huge Pages

CXL 메모리의 CMA 적격성과 2 MiB·1 GiB huge page 조건을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

hugepages.rst:1-32

CXL 메모리의 CMA 적격성과 2 MiB·1 GiB huge page 조건을 설명합니다. 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 directive, 코드, symbol, source path와 원문 줄 좌표를 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ==========
4 Huge Pages
5 ==========
6
7 Contiguous Memory Allocator
8 ===========================
9 CXL Memory onlined as SystemRAM during early boot is eligible for use by CMA,
10 as the NUMA node hosting that capacity will be `Online` at the time CMA
11 carves out contiguous capacity.
12
13 CXL Memory deferred to the CXL Driver for configuration cannot have its
14 capacity allocated by CMA - as the NUMA node hosting the capacity is `Offline`
15 at :code:`__init` time - when CMA carves out contiguous capacity.
16
17 HugeTLB
18 =======
19 Different huge page sizes allow different memory configurations.
20
21 2MB Huge Pages
22 --------------
23 All CXL capacity regardless of configuration time or memory zone is eligible
24 for use as 2MB huge pages.
25
26 1GB Huge Pages
27 --------------
28 CXL capacity onlined in :code:`ZONE_NORMAL` is eligible for 1GB Gigantic Page
29 allocation.
30
31 CXL capacity onlined in :code:`ZONE_MOVABLE` is not eligible for 1GB Gigantic
32 Page allocation.
33

3. 한국어 전문 번역

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

Contiguous Memory Allocator

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

초기 부팅 중 SystemRAM으로 online된 CXL 메모리는 CMA가 연속 용량을 떼어 놓는 시점에 해당 용량을 보유한 NUMA node도 `Online` 상태이므로 Contiguous Memory Allocator(CMA)가 사용할 수 있습니다.

반대로 구성을 CXL 드라이버에 미룬 CXL 메모리는 `__init` 시점, 즉 CMA가 연속 용량을 확보할 때 해당 NUMA node가 `Offline` 상태이므로 CMA가 이 용량을 할당할 수 없습니다.

HugeTLB와 페이지 크기

17-20

서로 다른 huge page 크기를 사용하면 메모리를 각기 다른 방식으로 구성할 수 있습니다.

2 MiB huge page

21-25

구성 시점이나 memory zone과 관계없이 모든 CXL 용량을 2 MiB huge page로 사용할 수 있습니다.

1 GiB gigantic page

26-32

`ZONE_NORMAL`로 online된 CXL 용량은 1 GiB Gigantic Page 할당에 사용할 수 있습니다. `ZONE_MOVABLE`로 online된 CXL 용량은 1 GiB Gigantic Page 할당에 사용할 수 없습니다.