Linux 6.1 welcomes Btrfs asynchronous buffer write patch: D double throughput
Linux 6.1 welcomes Btrfs asynchronous buffer write patch: Double 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 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.