인텔은 리눅스를 위한 새로운 TLB 무효화 방법인 RAR을 개발하고 있으며, 이는 AMD의 INVLPGB에 대한 대안으로 작용합니다. RAR 방법은 여러 주요 측면에서 INVLPGB와 다릅니다: 직접 명령어 대신 에뮬레이션된 APIC 쓰기를 사용하고, 플러시를 위한 64개의 항목을 가진 메모리 테이블을 활용하며, cpumask에 기반한 타겟 플러시를 허용합니다. 또한, RAR 기능은 사용 전에 부팅 시 구성해야 합니다.
이 패치 시리즈는 인텔의 2019년 이전 패치를 기반으로 하며, AMD의 INVLPGB 통합 이후 설정된 TLB 플러시 코드 구조에 맞게 수정되었습니다. 그러나 RAR 코드의 초기 버전은 문제를 안고 있으며, 현재 segfault와 kernel oops가 발생하고 있어 플러시의 타이밍과 실행에 대한 해결되지 않은 문제가 있음을 나타냅니다. 개발자는 주요 버그가 해결된 후 코드를 더 정리할 의사를 밝혔습니다.
RAR의 도입은 AMD의 INVLPGB에서 관찰된 이점과 유사하게 리눅스 환경에서 성능을 향상시킬 수 있는 잠재력을 가지고 있습니다. 그러나 현재 코드의 불안정성은 생산 시스템에 신뢰성 있게 구현되기 전에 추가 개발과 테스트가 필요함을 시사합니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.