Linux 5.17 To Continue With I/O Optimizations, 5~6% Improvement Pending For NVMe
Linux 5.16 saw much of Axboe's work merged around the I/O optimizations in his quest for maximizing the per-core IOPS out of his new Ryzen 9 5950X system with dual Intel Optane NVMe solid-state drives. But there is still more work pending that in turn should be ready for Linux 5.17.
With the merge window for 5.16 closed, time to submit for review some of the performance optimizations that didn't make this release. Here's batched issue for blk-mq with an NVMe implementation included. 5-6% improvement.https://t.co/81oLXMsMnk
— Jens Axboe (@axboe) November 17, 2021
Just days after the 5.16 merge window's closure, Axboe today sent out 4 more patches for NVMe code to make use of a new hook in Linux 5.16 around allocating and completing batches of I/O. In turn for NVMe drives it means allowing copying of multiple commands in one go. In Axboe's tests this yielded a ~500K IOPS/core improvement or around a 5~6% efficiency upgrade.
The I/O optimization work continues to be collected in the perf-wip branch. So far today there are 38 patches added to that repository as post-5.16 material. Axboe has also mentioned he is in the process of assembling an Intel Core i9 12900K system for seeing how the per-core IOPS compare to the Ryzen 9 5950X and ultimately exploring more storage performance optimizations on that Alder Lake front.
This ongoing work along with other kernel optimizations always has us excited for the next kernel cycle.