Linux 6.17的 EXT4 文件系统增强功能于周四合并,为块分配代码带来了更好的可扩展性,并修复了文件系统的大型作品集支持。可扩展性工作可以在某些领域显示出一些巨大的收益。
华为的Li Bao Kun一直在追求EXT4块分配代码更好的可扩展性。随着 Linux 服务器继续拥有更多的 CPU 内核和每台服务器上加载的容器更多,华为开始注意到 EXT4 文件系统驱动程序代码中的可扩展性问题。分析表明,在 EXT4 文件系统上运行许多容器时,EXT4 的块分配/空闲代码路径中存在大量争用,导致性能受到严重影响。
但是,通过一组 18 个补丁,经过三轮审查,EXT4 块分配代码的可扩展性增强现在在 Linux 6.17 中。简而言之,当查看上百分位数时,每秒每个容器的 fallocate操作能够显着上升:

此外,文件碎片显着减少,但代价是自由空间碎片略有增加。

块分配可扩展性工作是最有趣的变化,EXT4 拉取请求现在已合并为 Linux 6.17。
转自 EXT4 Shows Wild Gains With Better Block Allocation Scalability In Linux 6.17 – Phoronix
Linuxeden开源社区