Bvec Linux patches without copy revised for the new year as another I / O optimization

LINUX STORAGE -

The Linux kernel has seen incredible innovations and optimizations in the I / O area lately, from IO_uring to numerous performance improvements. One of the recent performance improvements in terms of activity and promising results is bvec behavior without copying.

As explained by the developer Pavel Begunkov, who led the bvec support works without a copy, “Currently, when IOP and direct block IO get an iterator based on bvec, bvec will be copied, along with all other CPU-consuming and time-consuming accounting for additional bvec. The package makes him reuse the bvec passed in the process.

This work to avoid copying bvecs during direct I / O can provide measurable performance increases while reducing memory consumption. Paul noted that in 4K block size tests a test system went from 1208k to 1222k IOPS with these patches. For a block size of 64K it increased from 699k IOPS to 982k IOPS.

With the latest patches there are more numbers for those interested. The paper is currently up to the second revision after the original “comment request” patches. It is very possible to see this bvec copy support without copy in a new kernel cycle in the short term, as another improvement in Linux I / O performance.

.Source