Documentation/gpu/rfc/i915_gem_lmem.rst GitHub 원문 ↗

Linux 6.18.37 · GPU·DRM·RFC

I915 DG1/LMEM RFC Section

DG1 local-memory hardware·TTM·uAPI upstream 순서를 설명합니다.

Source pathDocumentation/gpu/rfc/i915_gem_lmem.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

i915_gem_lmem.rst:1-22

DG1 local-memory hardware·TTM·uAPI upstream 순서를 설명합니다.

문서 위치
항목값
SourceDocumentation/gpu/rfc/i915_gem_lmem.rst
분량22 source lines
관련dma_resv_lock · IGT · mesa-dev

Source와 관련 개념입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 =========================
2 I915 DG1/LMEM RFC Section
3 =========================
4
5 Upstream plan
6 =============
7 For upstream the overall plan for landing all the DG1 stuff and turning it for
8 real, with all the uAPI bits is:
9
10 * Merge basic HW enabling of DG1(still without pciid)
11 * Merge the uAPI bits behind special CONFIG_BROKEN(or so) flag
12 * At this point we can still make changes, but importantly this lets us
13 start running IGTs which can utilize local-memory in CI
14 * Convert over to TTM, make sure it all keeps working. Some of the work items:
15 * TTM shrinker for discrete
16 * dma_resv_lockitem for full dma_resv_lock, i.e not just trylock
17 * Use TTM CPU pagefault handler
18 * Route shmem backend over to TTM SYSTEM for discrete
19 * TTM purgeable object support
20 * Move i915 buddy allocator over to TTM
21 * Send RFC(with mesa-dev on cc) for final sign off on the uAPI
22 * Add pciid for DG1 and turn on uAPI for real
23

3. 한국어 전문 번역

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

DG1 local-memory upstream 계획

1-22

이 RFC는 DG1 hardware enablement와 local-memory uAPI를 실제로 활성화하기 위한 upstream 순서를 설명합니다.

먼저 PCI ID 없이 DG1 basic hardware enablement를 merge합니다. 이어 uAPI를 `CONFIG_BROKEN` 같은 특별 flag 뒤에 merge합니다. 이 단계에서는 API 변경이 가능하지만 local-memory를 사용하는 IGT를 CI에서 실행할 수 있다는 점이 중요합니다.

다음은 TTM 전환과 동작 검증입니다. Discrete용 TTM shrinker, trylock이 아닌 전체 `dma_resv_lock`을 위한 `dma_resv_lockitem`, TTM CPU page-fault handler 사용, discrete에서 shmem backend를 TTM SYSTEM으로 routing, TTM purgeable object, i915 buddy allocator의 TTM 이동이 포함됩니다.

그 뒤 mesa-dev를 CC한 최종 uAPI RFC로 sign-off를 받고, 마지막으로 DG1 `pciid`를 추가하여 uAPI를 실제 활성화합니다.

DG1/LMEM upstream 단계
단계작업
1PCI ID 없는 DG1 basic HW enabling
2CONFIG_BROKEN 뒤 uAPI merge·local-memory IGT CI
3TTM 전환과 shrinker·fault·purge·allocator 작업
4mesa-dev CC의 final uAPI RFC sign-off
5DG1 pciid 추가와 uAPI 실제 활성화

Hardware에서 최종 uAPI enablement까지의 순서입니다.

TTM 전환 항목
TTM shrinker for discreteFull dma_resv_lock용 dma_resv_lockitemTTM CPU pagefault handlerShmem backend → TTM SYSTEMTTM purgeable object supporti915 buddy allocator → TTM

Discrete local memory를 TTM 기반으로 통합합니다.

=========================
I915 DG1/LMEM RFC Section
=========================

Upstream plan
=============
For upstream the overall plan for landing all the DG1 stuff and turning it for
real, with all the uAPI bits is:

* Merge basic HW enabling of DG1(still without pciid)
* Merge the uAPI bits behind special CONFIG_BROKEN(or so) flag
        * At this point we can still make changes, but importantly this lets us
          start running IGTs which can utilize local-memory in CI
* Convert over to TTM, make sure it all keeps working. Some of the work items:
        * TTM shrinker for discrete
        * dma_resv_lockitem for full dma_resv_lock, i.e not just trylock
        * Use TTM CPU pagefault handler
        * Route shmem backend over to TTM SYSTEM for discrete
        * TTM purgeable object support
        * Move i915 buddy allocator over to TTM
* Send RFC(with mesa-dev on cc) for final sign off on the uAPI
* Add pciid for DG1 and turn on uAPI for real