리눅스 팀은 사파이어 래피드 CPU에 영향을 미치는 커널 기반 가상 머신 코드의 성능 문제를 해결하기 위해 중간 버전인 리눅스 6.13-rc3를 출시했습니다. 구글 엔지니어들이 발견한 이 버그는 CPUID 업데이트가 사파이어 래피드에서 오래 걸리게 하여, 구형 스카이레이크 CPU가 CPUID 관련 업데이트를 처리하는 데 최대 4배 더 빠르게 작동하게 만듭니다. 구글의 숀 크리스토퍼슨은 인텔의 에메랄드 래피드에서 CPUID 작업이 매우 비용이 많이 들며, 중첩된 VM 전환 동안 지연 시간이 4배 증가한다고 강조했습니다. 이 지연 시간은 전환마다 XSAVE 오프셋과 크기를 여러 번 재계산해야 하는 필요성으로 인해 악화되며, 이는 `perf top`과 같은 성능 모니터링 도구를 통해 관찰할 수 있습니다. 이 문제에 대한 완전한 수정은 리눅스 6.14에서 기대되지만, 리눅스 6.13-rc3 업데이트는 사파이어 래피드 CPU에서 CPUID 데이터에 대한 캐싱 메커니즘을 도입하여 처리 시간을 크게 개선했습니다. 다가오는 리눅스 6.14는 VM 전환 중 모든 CPUID를 완전히 제거하는 보다 포괄적인 솔루션을 구현할 예정입니다. CPUID는 소프트웨어가 프로세서 세부 정보를 검색할 수 있도록 하는 중요한 명령어이며, 사파이어 래피드에서의 성능 저하는 특히 중첩 가상화 시나리오에서 두드러지며, 이 경우 가상 머신이 다른 가상 머신 내에서 실행됩니다. 6.13-rc3 업데이트는 다양한 다른 버그 수정도 포함하고 있지만, CPUID 캐싱 우회 방법은 커널 성능의 중요한 향상으로 두드러집니다.
* 이 글은
tomshardware.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.