各种 Linux 内核组件都在使用 Zstandard(Zstd) 压缩算法,但内核中的 Zstd 代码远落后于上游,上一次更新内核中的 Zstd 代码还要追溯到一年前的 Linux 5.16,,当时将 Zstd 升级到 1.4.10。从 Linux 5.16 发布以后,Zstd 维护者 Nick Terrell 就积极从上游为 Linux 内核更新 Zstd 代码,让内核的 Zstd 实现更新到可以更接近上游、更易于维护。
去年 9 月,Nick Terrell 分享他开发一个新的补丁系列,称自己将在下一个内核合并窗口把 Zstd 更新到最新的 1.5.x 版本。然而,因为测试失败和兼容性问题等种种原因,过了整整一年,该 Zstd 补丁集仍未合并到内核中, 内核的 Zstd 仍停留在 1.4.x 版本。
如今这项工作终于有起色,10 月 24 日,Nick Terrell 发出了最新补丁集,将 Linux 内核的 Zstd 更新到最新的 1.5.2 版本,该系列补丁已进入 Linux 6.2 的队列中,等待相关的测试。
最新的上游 Zstd 版本是 v1.5.2,我将这个补丁定位到了 v6.2 内核。Zstd 将在今年晚些时候开发一个新的上游版本,如果团队已准备好 Linux 6.2 的合并窗口滚动,我将在这个系列中添加另一个更新补丁。我将把补丁合并到
zstd-next
分支中,该分支被拉入linux-next
进行测试。
如果测试没有问题,Linux 6.2 将获得更新的 ZSTD 版本,1.5.x 版本的 Zstd 性能比 1.4.x 强劲。(具体可查看在 OpenBenchmarking.org 上关于 Zstd 压缩的基准测试)