除了通常的新有线/无线网络硬件支持和大型 Linux 网络子系统中的其他例行变动之外,Linux 6.8 内核还对核心网络代码进行了一些关键改进,当遇到许多并发网络连接时,TCP 性能可以提高 ~40%。首先,对核心网络结构进行了分析和重组。这项工作一直围绕着优化缓存行的使用和添加保护措施,以确保未来的更改不会倒退。反过来,这种对核心网络结构的优化导致许多并发连接的 TCP 性能提高了 40% 或更多!Google 的 Coco Li 解释了他们对网络代码的 cachline 优化工作:当前,网络栈中的变量密集结构按时间顺序、逻辑顺序组织,有时按缓存行访问组织。这个补丁系列试图重新组织核心网络栈变量,以在数据传输阶段最小化缓存行消耗。具体来说,我们研究了TCP/IP栈和TCP中的快速路径定义。出于文档目的,我们还为我们考虑的每个核心数据结构添加了新的文件,尽管由于现有缓存行跨度的数量,并非所有在快速路径上都已被修改。在文档中,我们记录了我们在快速路径上识别的所有变量及原因。我们还希望在未来添加/修改变量时,可以参考并相应地更新文档,以反映最新变量组织。测试:我们的测试使用neper tcp_rr测试tcp流量。测试具有$cpu数量的线程和可变数量的流量(见下文)。测试在6.5-rc1上运行 效率计算为cpu秒数/吞吐量(一个tcp_rr往返行程)。下面的结果显示在应用补丁系列之前和
...
继续阅读
(157)