마이크로소프트, 리눅스 6.13에서 커널 모듈에 흥미로운 개선을 도입하다

전문: https://www.phoronix.com/news/Linux-6.13-Modules

원저자: Michael Larabel | 작성일: 2024-11-27 11:32
사이트 내 게시일: 2024-12-01 05:12
리눅스 6.13 버전은 커널 모듈에 대한 중요한 개선 사항을 도입하며, 주로 모듈 코드를 대형 페이지에 캐시하는 기능을 통해 이루어졌습니다. 이 개발은 마이크 라포포트(Mike Rapoport)가 주도하였고, 코드 의존성으로 인해 앤드류 모턴(Andrew Morton)의 트리를 통해 통합되었습니다. 이 기능은 x86 아키텍처를 시작으로 모듈을 위한 공유 대형 페이지를 가능하게 합니다.

또한, 이번 업데이트는 모듈 텍스트에 대한 읽기 전용 실행 가능(ROX) 할당의 필요성을 다루고 있습니다. 이는 메모리에 대한 쓰기 접근을 허용하지 않고, 코드 수정(예: 재배치 및 대체 패치)을 관리하는 것을 포함합니다. 제안된 해결책은 처음에 유효하지 않은 명령어를 포함하는 ROX 권한이 있는 메모리를 사용하는 것으로, 모듈 텍스트의 쓰기 가능하지만 실행 불가능한 복사본을 유지합니다. 이 접근 방식은 최종 모듈 텍스트가 ROX 메모리에 단일 작업으로 복사된 후, 쓰기 가능한 복사본이 해제되기 전에 효율적인 재배치 및 패치를 가능하게 합니다.

텍스트 영역을 매핑하기 위한 대형 페이지 사용은 명령어 변환 후방 캐시(iTLB) 압력을 줄일 것으로 예상되며, 전반적인 성능 향상으로 이어질 것입니다. 이러한 최적화는 경량 보호 페이지와 함께 이번 릴리스에서 커널 모듈 작업의 전반적인 효율성에 기여합니다.

* 이 글은 phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은 이곳에서 확인하실 수 있습니다.
카테고리: Software
태그: Linux (637) Microsoft (224) Performance Optimization (144) x86 Architecture (14) Kernel Modules (2) ROX Allocations (1) Huge Pages (1) iTLB Pressure (1)

댓글

댓글을 쓰기 위해서는 로그인을 해 주세요.