随着 Fedora 37 即将在十月底发布,计划明年春天推出的 Fedora 38 的更多功能变化正在被继续讨论。本周有趣的提案之一是使用 Kernel TLS(kTLS) 来加速 GnuTLS。
Fedora 38 正在寻求将 Kernel TLS 模块的 kTLS 作为加密策略的一部分被加载,如此一来 GnuTLS 就可以实现更高的性能。这个变更提案由 Red Hat 主导,其中一个特别关注点是为网络块设备提供更高的性能。
GnuTLS 通过利用 kTLS 将加密/解密转移到内核,而使用 kTLS 对于网络块设备特别有益,可以减少数据拷贝和上下文切换,加密工作则发生在内核中。即使对于缺乏加密卸载硬件的系统,kTLS 也可以提升性能,因为其工作可能最终在与应用程序不同的 CPU 内核上完成。
此提案对于 Fedora 38 还有一个好处是带来更快的实时 VM 迁移,包括更快的实时虚拟机迁移,以及通过加密通道处理网络块设备上的文件时的速度提升。GnuTLS 的这种 kTLS 使用将在默认情况下启用,但在出现问题时将回滚到现有的用户模式下运行。
查看此 Fedora Wiki 页面了解关于这一变更提案的更多细节。