Linux 7.2는 심각한 GPU 퇴행 후 DRM 스케줄러 변경을 되돌립니다.
Linux 커널 개발자는 마지막 순간에 그래픽을 크게 변경했습니다. 리눅스 7.2, DRM GPU 스케줄러를 이전으로 되돌립니다. 기본적으로 FIFO 정책 새로운 공정한 스케줄링 구현으로 인해 심각한 성능 저하가 발생한 후. 지속적인 GPU 작업 부하로 인해 사용자가 심각한 속도 저하 및 데스크톱 정지를 보고한 후 최종 Linux 7.2 릴리스 직전에 되돌리기가 제출되었습니다.
이 결정은 회귀에 대한 커널 커뮤니티의 보수적인 접근 방식을 보여줍니다. 새로운 기능이 개발 주기 후반에 문제를 일으키는 경우 알려진 양호한 동작을 복원하는 것이 불완전한 수정을 서두르는 것보다 더 안전할 수 있습니다.
Linux 7.2에서 변경된 사항은 무엇입니까?
Linux 7.2 개발 주기 초기에 DRM 하위 시스템은 기본 GPU 예약 정책을 새로운 정책으로 전환했습니다. 공정한 스케줄러.
목표는 경쟁하는 워크로드 간에 GPU 실행 시간을 보다 공정하게 분배하는 것이었습니다. 새로운 구현에서는 확립된 FIFO 스케줄링 동작에 의존하는 대신 하나의 워크로드가 GPU 리소스를 지배하지 못하도록 설계된 공정성 지향 접근 방식을 사용합니다.
그러나 실제 테스트에서는 초기 개발 단계에서는 나타나지 않았던 문제가 노출되었습니다.
따라서 Linux 7.2의 최종 DRM 수정 사항은 다음과 같습니다.
- 공정한 스케줄러 변경 사항 되돌리기
- FIFO를 기본값으로 복원
- 선택 가능한 일정 정책 복원
- 공정한 일정 정책을 실험적인 것으로 표시
DRM 관리자인 Dave Airlie는 개발자가 새로운 스케줄러로 전환할 때 너무 공격적으로 움직였을 수 있다는 점을 인정했습니다.
AMD Radeon Gaming은 회귀를 노출했습니다.
이 문제는 게임을 하는 동안 특히 두드러졌습니다. AMD 라데온 RX 9070 XT.
회귀 보고서에서는 GPU 활용률이 100%에 가깝게 유지될 때 심각한 성능 저하가 발생한다고 설명했습니다. Proton을 통해 실행되는 게임은 대략 10FPS 또는 정지, 오디오는 정상적으로 계속 재생됩니다.
문제가 심각해져서 전체 KDE 플라즈마 Wayland 세션 응답이 중지되어 때로는 합성기를 종료하거나 컴퓨터를 재부팅해야 하는 경우도 있습니다.
흥미롭게도 게임 내 메뉴를 열거나 게임에서 벗어나는 등 GPU 부하를 줄이면 끊김 현상이 즉시 멈출 수 있습니다.
FIFO는 작동했지만 FAIR는 작동하지 않았습니다.
테스트에서는 새로운 일정 정책이 원인이라는 강력한 증거를 제공했습니다.
기자는 FAIR를 사용하는 Linux 7.2 릴리스 후보를 이전 FIFO 정책을 사용하는 구성과 비교했습니다. 다른 유사한 조건에서는:
공정한: 성능 문제를 재현했습니다.
FIFO: 회귀 없이 확장 스트레스 테스트에서 살아남았습니다.
Linux 7.1.x도 정상적으로 작동했습니다.
이러한 비교를 통해 커널 개발자는 단순히 또 다른 AMDGPU 변경이 아닌 스케줄러 전환이 문제의 원인이라는 비교적 명확한 표시를 얻었습니다.
GPU 스케줄링이 중요한 이유
DRM 스케줄러는 애플리케이션에서 제출한 작업이 GPU로 전송되는 방식을 결정하는 데 도움이 됩니다.
최신 Linux 데스크탑에는 다음을 포함하여 수많은 GPU 워크로드가 동시에 실행될 수 있습니다.
- 계략
- 웹 브라우저
- 비디오 재생
- 데스크탑 컴포지터
- 컴퓨팅 애플리케이션
- 하드웨어 가속 애플리케이션
따라서 예약 정책은 경쟁하는 워크로드 간의 처리량, 대기 시간, 우선 순위 및 공정성의 균형을 맞춰야 합니다.
그러한 행동의 결함은 게임 이상의 결과를 초래할 수 있습니다. 보고된 사례의 경우 YouTube 동영상을 재생하는 동안 백그라운드에서 GPU를 많이 사용하는 게임을 실행하면 데스크톱 문제가 발생할 수도 있습니다.
개발자가 공정한 일정 계획을 시도한 이유
FIFO 스케줄링은 간단합니다. 작업은 일반적으로 순서 및 우선순위 대기열에 따라 처리됩니다.
공정한 스케줄링은 경쟁 클라이언트 간에 GPU 리소스를 보다 균등하게 분배하려고 시도합니다. 개념적으로 이는 여러 애플리케이션이 GPU 워크로드를 동시에 제출할 때 더 나은 동작을 제공할 수 있습니다.
Linux DRM 구현은 기아 시나리오를 방지하기 위한 가상 런타임 기반 공정성 모델로 이동하고 있었습니다.
개념 자체는 포기되지 않았습니다. 문제는 구현이 Linux 7.2의 기본값이 될 만큼 충분히 안정적인 것으로 간주되지 않았다는 것입니다.
수정 사항이 이미 조사 중이었습니다.
개발자는 회귀를 조사하는 동안 잠재적인 부분 솔루션을 식별했습니다.
테스트 결과, 스케줄러의 최소 가상 런타임과 관련된 조정을 통해 적어도 일부 상황에서 심각한 정지 현상을 제거할 수 있는 것으로 나타났습니다. 하지만 일부 끊김 현상이 남아 있는 것으로 전해졌다.
Linux 7.2가 이미 최종 릴리스에 가까워짐에 따라 유지 관리 담당자는 디버깅을 계속하고 또 다른 최신 스케줄러 수정 사항을 도입하거나 알려진 작동 구현으로 되돌리는 선택에 직면했습니다.
그들은 더 안전한 옵션을 선택했습니다.
20개 패치 되돌리기
스케줄러 전환을 취소하는 것은 한 줄을 변경하는 것만큼 간단하지 않았습니다.
에이 20패치 시리즈 관련 DRM 스케줄러 변경 사항을 해제하고 이전 아키텍처를 복원할 준비가 되었습니다. 이 시리즈는 코어 스케줄러와 수많은 GPU 및 가속기 드라이버에 영향을 미치는 수정 사항을 되돌렸습니다.
영향을 받는 영역에는 AMDGPU, Xe, Nouveau, Panfrost, V3D, MSM, Lima, Etnaviv 및 기타 DRM 또는 가속기 구성 요소용 드라이버가 포함되었습니다.
최종 결과는 추가 개발 및 테스트를 위해 FAIR를 계속 사용할 수 있도록 유지하면서 이전 일정 인프라를 복원합니다.
공정한 일정 조정이 실험적이 됩니다
중요한 것은 Linux 개발자가 공정한 스케줄러를 완전히 제거하지 않는다는 것입니다.
대신 Linux 7.2에서는 명시적으로 수정합니다. FAIR를 실험용으로 표시.
이를 통해 개발자와 관심 있는 사용자는 이미 상당한 퇴보가 입증된 구현에 모든 Linux 7.2 사용자를 노출시키지 않고도 기술을 계속 테스트할 수 있습니다.
나머지 문제가 이해되고 해결되면 향후 커널 주기 동안 공정한 스케줄링이 기본값으로 돌아올 수 있습니다.
기타 최종 DRM 수정
스케줄러 되돌리기는 최종 Linux 7.2 릴리스에 대한 대규모 DRM 수정 풀 요청의 일부로 도착했습니다.
이 업데이트에는 다음에 대한 수정 사항도 포함되어 있습니다.
- AMDGPU
- 인텔 Xe 그래픽
- HDMI 오디오 정보 처리
- DRM 로깅
- Radeon 런타임 전원 관리
- AMD XDNA
여러 가지 경계 검사, 메모리 안전, 디스플레이, 전원 관리 및 오류 처리 문제도 해결되었습니다.
따라서 스케줄러 변경이 가장 많은 관심을 끌었지만 이는 상당히 늦은 그래픽 업데이트의 일부일 뿐이었습니다.
Linux 게이머가 알아야 할 사항
대부분의 Linux 게이머에게 복귀는 좋은 소식입니다.
최종 Linux 7.2 커널을 실행하는 사용자는 문제가 있는 FAIR 구현으로 자동으로 이동하는 대신 기본적으로 설정된 FIFO 스케줄러 동작을 얻어야 합니다.
이는 회귀가 처음에 입증된 과부하 상태에서 AMD Radeon GPU를 사용하는 게이머와 특히 관련이 있습니다.
이 문제로 인해 사용자가 Linux 7.2를 포기해야 한다는 징후는 없습니다. 문제가 있는 기본값은 최종 커널의 정상적인 동작이 되기 전에 되돌려졌습니다.
결론
Linux 7.2의 마지막 DRM 스케줄러 반전은 커널 개발이 심각한 회귀를 처리하는 방법을 보여주는 좋은 예입니다. 공정한 GPU 스케줄링은 여러 경쟁 그래픽 작업 부하를 실행하는 시스템에 이점을 약속하지만, 실제 GPU 부하가 지속되는 경우 구현에 문제가 있는 것으로 나타났습니다.
잠재적으로 방해가 될 수 있는 일정 변경 사항을 제공하고 나중에 수정하는 대신 관리자가 복원했습니다. FIFO를 기본값으로 설정하고 FAIR를 다시 실험적 상태로 전환했습니다..
공정 스케줄러는 죽지 않았습니다. 개발자는 이미 수정 사항을 조사하고 있으며 나머지 성능 및 안정성 문제가 해결되면 다시 수정될 수 있습니다. 그러나 Linux 7.2의 경우 마지막 순간에 새로운 스케줄링 모델을 도입하는 것보다 안정성이 더 뛰어났습니다.
※위 포스팅이 문제될 경우 삭제하겠습니다.