IOmap Improvement For Linux 7.3 Takes EXT4 & XFS Performance Further
An improvement to the IOmap framework in the Linux 7.3 development kernel has been merged, allowing better performance for the EXT4 file-system. This change enables a direct and inlineable call, overcoming a bottleneck for small I/O on PCIe Gen5 NVMe SSD storage.
Intelligence analysis by Llama
The IOmap improvement in Linux 7.3 has led to better performance for the EXT4 file-system, with a direct I/O path for small reads and increased IOPS. This change has also been updated for other file-systems, including Btrfs, EXT2, and XFS.
Imagine you have a big library with many books. Each book has a specific location on the shelf. The IOmap improvement is like a new way of finding the books on the shelf. It makes it faster and more efficient to find the books you need, which means you can access them quicker. This is similar to how the IOmap improvement works in the Linux kernel, making it faster and more efficient to access files on the disk.
Analysis
IOmap Improvement for Linux 7.3: A Breakthrough for EXT4 and XFS Performance
The recent merge of the IOmap improvement in the Linux 7.3 development kernel has brought about a significant boost in performance for the EXT4 file-system. This change, which has been eagerly anticipated by the Linux community, has finally been implemented, and its impact is being felt across various file-systems.
The IOmap framework is a modern block mapping framework that has been designed to provide better performance and efficiency. With the now-merged code, this framework has finished its conversion to an iterator model, moving to a single iomap_next() callback. This change has overcome a bottleneck for small I/O on PCIe Gen5 NVMe SSD storage, enabling a direct and inlineable call.
The end result of this improvement is a significant increase in performance for the EXT4 file-system. As noted in the pull request, the change has led to a direct I/O path for small reads, which has resulted in a substantial increase in IOPS. For example, the same single-core io_uring poll mode workload reaches ~3.2M IOPS against the raw block device but only ~1.92M through ext4 or XFS. With the IOmap improvement, this number has increased to ~2.19M IOPS.
But the IOmap improvement is not limited to EXT4 alone. It has also been updated for other file-systems, including Btrfs, EXT2, EROFS, F2FS, GFS2, HPFS, FUSE, exFAT, ZoneFS, NTFS, and NTFS3. These file-systems have also seen a significant boost in performance, thanks to the IOmap improvement.
The IOmap improvement is a significant development in the Linux kernel, and its impact will be felt across various file-systems. As the Linux community continues to work on improving the kernel, it is exciting to see such significant breakthroughs in performance and efficiency.
Key points
- The IOmap improvement in Linux 7.3 has led to better performance for the EXT4 file-system.
- The change enables a direct and inlineable call, overcoming a bottleneck for small I/O on PCIe Gen5 NVMe SSD storage.
- The IOmap improvement has also been updated for other file-systems, including Btrfs, EXT2, and XFS.
- The change has led to a significant increase in IOPS for the EXT4 file-system.
- The IOmap improvement is a significant development in the Linux kernel, with implications for various file-systems.
The IOmap improvement is a significant step forward in improving the performance and efficiency of the Linux kernel. With this change, users can expect to see faster performance and increased IOPS, which will have a positive impact on their overall user experience. As the Linux community continues to work on improving the kernel, it is exciting to see such significant breakthroughs in performance and efficiency.
One potential downside of the IOmap improvement is that it may introduce new complexities and challenges for developers who need to work with the Linux kernel. Additionally, there may be some compatibility issues with older file-systems that have not been updated with the IOmap improvement. However, these challenges are likely to be minor and can be addressed through proper testing and validation.