EXT4 Scores A Nice Direct I/O Performance Improvement With Linux 6.3
With the EXT4 file-system being quite mature at this stage, with many kernel cycles these days this widely-used file-system just sees bug fixes and other minor work. But for the newly-opened Linux 6.3 cycle, EXT4 is seeing a nice performance boost under certain conditions with direct I/O.
EXT4 with Linux 6.3 now allows for multiple processes to perform direct I/O writes to pre-allocated blocks via a shared inode lock rather than requiring an exclusive lock. Allowing multiple processes to overwrite pre-allocated blocks using a shared inode lock rather than an exclusive inode lock has significant performance ramifications.
Zhang Yi of Huawei who worked on this EXT4 change ran some multi-threaded write tests with FIO on an Intel Xeon Gold server with NVMe SSD storage. The speed-ups there from his testing is mighty impressive for the EXT4 DIO boost:
Aside from this performance optimization for multi-threaded Direct I/O, the other work in Linux 6.3 around EXT4 is just bug fixes and clean-ups.
More details via the EXT4 pull request.
EXT4 with Linux 6.3 now allows for multiple processes to perform direct I/O writes to pre-allocated blocks via a shared inode lock rather than requiring an exclusive lock. Allowing multiple processes to overwrite pre-allocated blocks using a shared inode lock rather than an exclusive inode lock has significant performance ramifications.
Zhang Yi of Huawei who worked on this EXT4 change ran some multi-threaded write tests with FIO on an Intel Xeon Gold server with NVMe SSD storage. The speed-ups there from his testing is mighty impressive for the EXT4 DIO boost:
Aside from this performance optimization for multi-threaded Direct I/O, the other work in Linux 6.3 around EXT4 is just bug fixes and clean-ups.
More details via the EXT4 pull request.
10 Comments