리눅스 6.15 커널은 성능 향상을 목표로 여러 소규모 VFS(가상 파일 시스템) 파일 최적화를 통합했습니다. 주요 개선 사항으로는 파일이 닫힐 가능성이 높은 경우 오버헤드를 줄이는 struct file에 대한 새로운 참조 카운트 메커니즘이 포함됩니다. 특히, file_ref_put_close() 함수의 추가는 파일 디스크립터를 닫는 일반적인 시나리오를 최적화하여, 이 빈번한 경우에서 원자적 작업을 제거함으로써 1%의 성능 향상을 가져옵니다. 또한, 커널은 close() 시스템 호출이 0을 반환할 것이라고 예측하는데, 이는 대부분의 경우에 해당하므로 작업을 간소화합니다. 추가로, fdget_pos()에서 수행된 작업은 파일이 발견된 것으로 가정하고 참조 카운트를 1과 직접 비교함으로써 최소화되어, 특정 상황에서 불필요한 처리를 피하는 데 도움이 됩니다. 이러한 최적화는 리눅스 커널 내에서 파일 처리를 보다 효율적으로 만들어, 특히 빈번한 파일 닫기와 관련된 시나리오에서 효과를 발휘합니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.