Linux No-Copy Bvec Patches Return For New Year As Another I / O Optimization



[ad_1]

LINUX STORAGE -

The Linux kernel has seen some incredible innovations and optimizations in the I / O arena lately, from IO_uring to many performance improvements. One of the recent performance improvements seeing promising activity and results is bvec copyless behavior.

As explained by developer Pavel Begunkov, who led the copyless bvec support work, “Currently, when iomap and block direct IO get a bvec based iterator, the bvec will be copied, along with any other accounting that takes a lot of CPU time and results in additional allocation for larger bvecs. The patchset allows to reuse the past tense in iter bvec.

This work to avoid copying bvecs during direct I / O can provide measurable performance improvements while reducing memory usage. Pavel noted that in testing with a 4K block size, a test system went from 1208k to 1222k IOPS with these fixes. For a block size of 64K, it went from 699k IOPS to 982k IOPS.

With the latest fixes, there are more numbers for those who are interested. The work is currently in its second revision after the original “request for comment” fixes. It is quite possible that we will see this copyless bvec support land in a new kernel cycle in the near term as another Linux I / O performance improvement.

[ad_2]

Source link