이 기사는 리눅스 커널 버전 6.13에서 다중 곡물 타임스탬프의 재도입에 대해 논의하며, 이전 구현에 비해 성능 영향이 감소했음을 강조합니다. 이 새로운 접근 방식은 시간 관리 유지 보수자들에 의해 지원되며, 필요한 시간 관리 인터페이스를 포함하는 토마스가 제공한 기본 브랜치를 활용합니다.
다중 곡물 타임스탬프는 커널이 inode의 속성이 ->getattr() 함수를 통해 적극적으로 접근될 때 세밀한 타임스탬프를 할당할 수 있게 합니다. 이를 통해 한 파일이 세밀한 타임스탬프를 받을 수 있는 반면, 나중에 수정된 다른 파일은 더 이전으로 보이는 조잡한 타임스탬프를 받을 수 있는 상황이 발생할 수 있습니다. 이러한 상황은 VFS의 정렬 보장에 혼란을 초래할 수 있으며, 잠재적인 불일치를 초래할 수 있습니다.
이 문제를 완화하기 위해 다중 곡물 타임스탬프에 대한 하한 값이 설정됩니다. 세밀한 타임스탬프가 발급되면 기록되고, 이후의 조잡한 타임스탬프는 이 기록된 값보다 앞서지 않아야 합니다. 만약 조잡한 타임스탬프가 세밀한 하한보다 이전으로 발견되면, 하한 값이 대신 반환되어 타임스탬프 정렬의 일관성을 보장합니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.