Btrfs Now Enables Large Folios By Default, Lands Huge Folios With Linux 7.2
LINUX STORAGE
지난 Linux 6.17에서 Btrfs는 실제 워크로드에서 한 자릿수 퍼센트의 성능 향상을 통해 Btrfs 성능을 도울 수 있는 기능으로서 대형 Folio (large folios)에 대한 실험적 지원을 도입했습니다. 이제 Linux 7.2와 함께 Btrfs의 대형 Folio (large folios) 지원은 더 이상 실험적인 것으로 취급되지 않으며, 따라서 기본적으로 활성화됩니다. 이는 매우 반가운 소식이며, 더 이상 실험적 옵션으로 숨겨져 있지 않게 된 만큼 실제 환경에서의 영향을 측정하는 것이 흥미로울 것입니다.
또한 Linux 7.2를 위해 Btrfs는 거대 Folio (huge folio) 지원을 도입합니다. Linux 7.2에서 최대 2M 크기의 거대 Folio (huge folios)는 실험적인 것으로 취급됩니다.
Linux 7.2를 위한 Btrfs 업데이트에는 mkfs 및 중복 제거 (deduplication) 최적화와 같이 사용자 공간 (user-space)으로 원시 체크섬 (raw checksums)을 반환하기 위한 새로운 ioctl도 포함되어 있습니다. 또한 OverlayFS와 같은 사용 사례를 위한 안정적인 UUId가 도입되었으며, 다수의 성능 향상이 이루어졌습니다.
Btrfs는 이제 잠재적인 지연 시간 급증 (latency spikes)을 피하기 위해 일부 경우에서 bio 크기를 제한하며, 순차 쓰기 (sequential writes)에서 보고된 15%의 성능 향상을 제공합니다. 또한 Btrfs는 직접 I/O (direct I/O)가 직렬화되도록 강제하지 않으며, 이를 통해 +60%의 처리량 (throughput)을 가져올 수 있습니다. 해당 직접 I/O 직렬화 문제는 그들의 마운트 API 변환 과정에서 발생한 여파였습니다. Btrfs는 또한 많은 memcg 할당 객체에 대해 성능 이점을 주는 개선 사항을 포함하고 있습니다.
Btrfs는 또한 2K 블록 크기 (block size) 지원을 중단하였고, tree-checker 개선 사항 및 다양한 기타 개선 사항을 반영했습니다. Linux 7.2를 위한 Btrfs 변경 사항의 전체 목록은 이미 Git master에 병합된 이 pull을 통해 확인할 수 있습니다.