Intel Xe 드라이버가 Linux 7.4에 vRAM 상태 확인 및 메모리 저하 처리 기능 추가
요약
Intel Xe 드라이버가 Linux 7.4 업데이트를 통해 vRAM 상태 확인 및 메모리 저하 처리 기능을 대폭 개선했습니다. 특히, 잘못 정렬된 CCS 오프셋으로 인한 VRAM 할당 문제를 해결하고, 결함 있는 비디오 메모리를 영구적으로 분할하여 재사용을 막는 기능이 추가되었습니다.
핵심 포인트
- vRAM 상태 확인 루틴을 통해 초기 프로빙 과정의 안정성을 높였습니다.
- CCS 오프셋 정렬 오류로 인한 VRAM 할당 문제를 해결했습니다.
- 하드웨어 메모리 저하 시 결함 있는 vRAM 페이지를 분할하고 노출합니다.
- DebugFS를 통해 엔진별 유휴 상태 및 오류 메모리 영역을 확인할 수 있습니다.
Intel Xe 드라이버는 마지막 vRAM 페이지를 대상으로 하는 기본적인 vRAM 상태 확인 루틴을 배포하고 있습니다. Intel 엔지니어 Matthew Auld는 이 패치로 Xe 드라이버의 vRAM 상태 확인에 대해 다음과 같이 설명했습니다:
"초기 프로빙(probe) 과정에서, 마지막 페이지를 BAR 크기 지정, CCS 크기 지정, Identity Map 설정 등에 대한 카나리아(canary)로 사용합니다. 만약 무언가 잘못되었다면, 그 마지막 페이지에서 발견할 가능성이 높습니다. 모든 것을 동원해 테스트할 것입니다. 현재는 디버그 구성 옵션 뒤에 게이팅되어 있어 프로덕션 환경에서는 트리거되지 않을 것입니다.
주요 동기는 CCS 크기 지정과 관련이 있습니다. 일부 BMG 카드에서 어떤 이유로 인해 CCS 오프셋이 잘못 정렬(misaligned)되게 프로그램되었고, 이 부분 처리가 고장 났습니다. Linus가 발견한 바에 따르면, 그 결과 상당량의 CCS 저장 공간이 정상 VRAM으로 할당자(allocator)에 끌려 들어가는 문제가 있었습니다."
현재로서는 이 vRAM 상태 확인 옵션은 CONFIG_DRM_XE_DEBUG_MEM 커널 빌드 플래그에 의해 게이팅됩니다.
별도로, 이번 주 Xe 풀 리퀘스트(pull request)는 21차례의 검토를 거쳐 메모리 페이지 오프라인 처리 지원 기능도 추가합니다. 이는 Xe 커널 드라이버가 하드웨어 메모리 저하를 우아하게 처리하기 위한 "중요한 단계"입니다. 이 작업을 통해 Xe 드라이버는 결함이 있는 비디오 메모리를 영구적으로 분할(carve out)하여 이후 할당에서 재사용되지 않도록 합니다. 또한, 손상된 vRAM 페이지는 사용자 공간(user-space)가 오류 메모리 영역을 인지할 수 있도록 DebugFS를 통해 노출됩니다.
이러한 최신 추가 변경 사항들을 포함한 Intel Xe 드라이버는 이제 DebugFS를 통해 엔진별 유휴 상태(idle status)도 노출합니다.
이번 주 Linux 7.4의 DRM-Next에 제출된 전체 Intel Xe 커널 드라이버 변경 목록은 이 풀에서 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기