Btrfs Async Buffered Writes Slated For Linux 6.1 - 2x Throughput Improvement

Meta (Facebook) engineer Stefan Roesch has been working on patches to add support for async buffered writes for both Btrfs and IO_uring. The benchmark results of this work are quite impressive:
Roesch commented of the performance results:
For an io depth of 1, the new patch improves throughput by over two times (compared to the existing behavior, where buffered writes are processed by an io-worker process) and also the latency is considerably reduced. To achieve the same or better performance with the existing code an io depth of 4 is required. Increasing the iodepth further does not lead to improvements.
The set of patches culminating with Btrfs async buffered writes being wired up is queued as of Friday in Kdave's for-next branch of Btrfs material ahead of the Linux 6.1 merge window opening in early October.
See this linux-btrfs mailing list series of the patch series for more background on this work.
110 Comments