AMD P-State Linux 드라이버 패치를 통해 1% Low FPS 게임 성능을 최대 31% 향상 가능
요약
AMD P-State Linux 드라이버에 코어별 EPP 부스트 기능을 추가하는 패치가 제안되었습니다. 이 패치는 CPU 코어 사용량을 샘플링하여 성능 모드를 동적으로 전환함으로써 게임 성능을 크게 개선합니다.
핵심 포인트
- epp_boost 모듈 파라미터를 통해 코어별 성능 모드 제어 가능
- Civilization VI 벤치마크 기준 1% Low FPS 최대 31.8% 향상
- Steam Deck 및 AMD Ryzen 핸드헬드 기기 성능 개선 기대
- 최대 10ms 단위의 C0 체류 시간 샘플링을 통한 정밀한 제어
AMD P-State Linux 드라이버 패치를 통해 1% Low FPS 게임 성능을 최대 31% 향상 가능

낮에는 Meta의 Linux 커널 해커로 활동하는 David Vernet는 Linux 게임 성능을 돕기 위해
대신 이 시리즈는 선택 사항(opt-in)인 코어별 EPP 부스트(EPP boost)를 추가합니다. epp_boost 모듈 파라미터(module parameter)가 활성화되면, update-util 훅(hook)이 최대 10ms마다 한 번씩 각 코어의 C0 체류 시간(C0 residency, delta MPERF/delta TSC)을 샘플링합니다. 만약 샘플링 결과 코어가 최소 50% 이상 사용 중인 것으로 나타나면, 해당 코어의 MSR_AMD_CPPC_REQ 내 EPP 필드가 성능(performance, 0) 모드로 설정되며, 이후 다른 사용 중 샘플 없이 300ms가 경과할 때까지 해당 상태가 유지됩니다. 그 시점에 훅은 cppc_req_cached에 정책 관리 도구가 마지막으로 저장했던 요청 값을 복구합니다.
그 결과는 매우 흥미롭습니다. Civilization VI 게임 벤치마크를 사용했을 때, 1% Low FPS는 31.8% 향상되었으며 p99 프레임 타임(frame time)은 4.1% 개선되었습니다. 이는 Steam Deck에서의 결과이며, 다른 최신 AMD Ryzen 핸드헬드 기기 및 전반적인 시스템들도 혜택을 볼 수 있습니다.
이 패치 시리즈는 AMD P-State 드라이버에 해당 성능 향상을 제공합니다. 이러한 패치들이 필요한 것 외에도, 해당 모드를 활성화하려면 amd_pstate.epp_boost=1 설정이 필요합니다. 패치가 적용된 커널에서는 */sys/module/amd_pstate/parameters/epp_boost*를 통해 해당 기능의 상태를 확인하거나(또는 런타임에 설정할 수 있습니다).
Civilization VI는 용이성과 재현성 덕분에 이 AMD epp_boost 기능의 테스트 후보로 사용되었지만, 더 다양한 게임들에서 어떤 영향을 미칠지 지켜보는 것은 흥미로운 일이 될 것입니다.
이 유망한 작업은 특히 AMD Linux 커널 엔지니어들에 의한 패치 리뷰(patch review)를 거쳐야 하지만, 머지않은 미래에 메인라인(mainlined)에 합류하여 AMD Linux 게이밍 경험을 더욱 향상시킬 수 있기를 기대합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기