Linux 5.16 内核的合并窗口刚刚结束,预计将在今年年底发布。现在 Linux 5.17 内核的子系统开发树已经开始了相关的合并工作。根据 Phoronix 的报道,Google 工程师近日提交的补丁在数据中心内提供了可观的 TCP 性能方面的优势。
Linux 内核维护者 David Miller 已合并由 Google 工程师 Eric Dumazet 提交的这些 TCP 优化。这里面最令人兴奋的部分是这个补丁在 TCP 代码中延迟释出套接字锁 (socket lock) 后的 SKB 释放。现有的内核代码被发现引入了过多的延迟,这种情况可以通过在保持套接字锁定时不执行 SKB 释放来避免。不过目前的做法是,它们将在套接字锁被释放或直接从 BH 处理程序释放后被释放。
测试结果显示这“大大改善了性能”,至少对于数据中心的大量 TCP 流量而言是如此。在一个 100Gbit 的网卡上进行 TCP 网络吞吐量的测试,结果显示,MTU 大小为 1500,范围从 55 到 65Gbit,而 MTU 为 4096 以上,范围从 82 到 95 Gbit。
虽然目前的优化只涉及到 TCP,但合并后类似的优化可能会扩展到其他协议。这些 TCP 优化预计将在明年的 Linux 5.17 内核中出现。