Linux 6.1 迎来 Btrfs 异步缓冲写入补丁,吞吐量翻倍原创
最新的 Btrfs 异步缓冲写入补丁可以提供两倍以上的吞吐量,该补丁目前正在 Btrfs for-next Git 存储库中排队,预计在 Linux 6.1 中合并。
Btrfs 异步缓冲写入补丁邮件介绍了该补丁的信息
此补丁系列增加了在同时使用 btrfs 和 io 时对异步缓冲写入的支持。目前 io-uring 仅支持慢速路径中的缓冲写入(用于 btrfs),有了这个补丁系列,现在可以支持快速路径中的缓冲写入。
据外媒 Phoronix 介绍:Meta (Facebook) 工程师 Stefan Roesch 一直在开发补丁,以添加对 Btrfs 和 IO_uring 的异步缓冲写入的支持。这项工作的基准测试结果令人印象深刻:
Roesch 评论了性能结果:
对于 1 的 io 深度,新补丁将吞吐量提高到了两倍以上(与现有行为相比,缓冲写入由 io-worker 进程处理),且延迟也大大减少。
如果要使用现有的代码实现相同或更好的性能,则需要 4 的 io 深度,而且进一步增加 io 深度无法带来更多改进。
在 10 月初 Linux 6.1 合并窗口打开之前, Kdave 的 for-next Btrfs 分支中已经存在一大批优化补丁,本文所述的 Btrfs 异步缓冲写入补丁系列是主要特性。
关于 Btrfs 异步缓冲写入补丁的更多信息,可查看相关的内核邮件。