🐟 (@stevessr) 在 由于内核中 Zstd 的效率低下得令人尴尬,补丁程序提供了更快的内核 Zstd 计算速度 中发帖
[!quote]+
今天发送到 Linux 内核邮件列表的补丁可以解决现有代码中一个非常不幸的疏忽,从而提供更高效的 Zstd 压缩和解压缩。
Linux 开发者 Usama Arif 指出,内核中的 Zstd 代码在运行时创建压缩或解压缩上下文时,会决定选择通用代码路径还是使用 BMI2 指令的路径。BMI2 位操作指令集存在于 Intel Haswell 及更新的处理器,以及 AMD Excavator 及更新的处理器中。基本上,过去十年的 AMD 和 Intel CPU 都支持 BMI2 指令集。
虽然运行时检测本身并无不妥,它允许在旧 CPU 上回退到通用代码,但每次创建新上下文时都这样做就显得多余了。除非遇到某些罕见的 CPU 漏洞,否则系统启动并运行后,BMI2 支持不应该丢失。探测 BMI2 需要执行两条带有无条件 VM 退出的 CPUD 序列化指令。
问题在于...