Linux 6.1 welcomes Btrfs asynchronous buffer write patch, doubles throughput

The latest Btrfs async buffered write patch, which is currently queued in the Btrfs for-next Git repository, is expected to be merged in Linux 6.1.

 The Btrfs Asynchronous Buffered Write Patch email describes the patch:

This patch series adds support for asynchronous buffered writes when using btrfs and io together . Currently io-uring only supports buffered writes in the slow path (for btrfs), with this patch series buffered writes in the fast path are now supported.

According to foreign media Phoronix : Meta (Facebook) engineer Stefan Roesch has been working on a patch to add support for asynchronous buffered writes for Btrfs and IO_uring. The benchmark results for this work are impressive:

Roesch commented on the performance results:

For an io depth of 1, the new patch more than doubles the throughput (compared to the existing behavior, where buffered writes are handled by the io-worker process), and the latency is also greatly reduced.

To achieve the same or better performance with existing code, an io depth of 4 would be required, and increasing the io depth further would not bring much improvement.

Before the Linux 6.1 merge window opened in early October, a bunch of optimization patches already existed in Kdave's for-next Btrfs branch , the Btrfs asynchronous buffered write patch series described in this article being the main feature.

For more information on the  Btrfs asynchronous buffered write patch, see the related kernel mail .

Guess you like

Origin www.oschina.net/news/211793/btrfs-async-buffered-write-linux-6-1