基于 Zstd v1.5 上游的新 Zstd 内核实现已合并到正在开发的 Linux 6.2 中,以便为从压缩固件到透明文件系统压缩的 Zstd 压缩/解压缩用例提供更好的性能和可靠性。
Linux 内核已在多个模块使用了 Zstd,从透明文件系统压缩与 Btrfs 之类的数据压缩,到允许内核模块使用 Zstandard 算法进行压缩。
据称,Linux 内核中的 Zstd 代码已经有一年没有更新了,使用的还是 Zstd 1.4.10,这比上游 Zstd 的更新进度晚了好几年。在 Linux 6.2 中,Zstd 内核代码已针对 v1.5.2 上游进行了更新,以便与 Facebook/Meta 维护的上游代码保持一致。对于使用 Zstandard 压缩算法的内核用户,这意味着他们能够使用更快的 Zstd 压缩/解压缩。
这项计划很早之前就已被提出,维护者最后在上周末才提交了 PR。就在今天,Linus Torvalds 合并了该补丁。该 PR 依旧是由来自 Facebook 的 Zstd 维护者 Nick Terrell 完成,他一直积极从上游为 Linux 内核使用的 Zstd 更新代码。
毫无疑问,使用新的 Zstd 实现能够为 Zstd 压缩的内核镜像和其他用户带来更好的性能。随着这个内核实现也以近乎自动的方式从上游 Zstd 代码生成,希望内核实现能够更好地针对其上游进行更新。