[Industry News] Linux 7.2 将给 Btrfs 带来相当可观的性能提升
Tofloor
poster avatar
说书人
deepin
6 hours ago
Author

即将进入Linux 7.2内核开发周期的一项改动,将大幅提升Btrfs的直接I/O写入性能。这次性能提升幅度很大,但从技术角度来说,它其实是修复了几年前一次代码改动误删原有逻辑导致的性能退化。

“2023年Btrfs切换到新挂载API之前,我们原本是在btrfs_mount_root()函数中设置SB_NOSEC标记。这个标记会告诉虚拟文件系统(VFS):该文件系统中可能存在不携带安全扩展属性的文件,从而允许VFS做一些优化。

不幸的是,切换挂载API的时候漏掉了这行代码,这导致IS_NOSEC判断对Btrfs的索引节点永远返回假。其结果就是,btrfs_direct_write()调用永远会独占索引节点锁,因此对同一个文件的直接I/O写入必须排队串行执行。

在我的测试机器上,仅这一行修改就让直接I/O吞吐量提升了约59%。”

仅仅一行代码就带来了非常可观的提升:吞吐量从826MB/s提升到1311MB/s,提升幅度接近60%。

英特尔的内核测试机器人在自家硬件测试中也报告称,这项改动给Btrfs带来了约12%的性能提升,测试硬件为NVMe固态硬盘。

目前该补丁已经进入内核的-next开发分支,预计这项Btrfs改动会在6月开启的Linux 7.2合并窗口中正式合入主线内核。

http://www.linuxeden.com/a/161154

Reply Favorite View the author
All Replies
avatar
说书人
deepin
6 hours ago
#1

总感觉 Btrfs 跟 磐石 更配pride

Reply View the author