Linux内核6.8:网络优化,英特尔XeGPU驱动,第一个Rust驱动

虫虫搜奇 2024-01-12 11:45:27

随着新年Linux 6.7的发布,Linux 6.8版本开始进入了窗口合并期。在次,我们来展望一下Linux内核在新一年的工作,主要介绍两个硬件驱动方面的消息,一个是关于网络性能方面,一个是关于Rust驱动的。

并发TCP性能提高

在网络方面除了通常的新有线/无线网络硬件支持和大型Linux网络子系统中的其他常规改动之外,内核还对核心网络代码进行了一些关键改进,这些改进可以在并发的情况下使TCP性能提高约40%。

对核心网络结构进行了分析和重组。这项工作的重点是优化缓存行消耗并添加保护措施以确保未来的更改不会倒退。反过来,这种核心网络结构的优化使许多并发连接的TCP性能提高了40%或更多!

这项由于源于谷歌相关人员,他们对网络代码的缓存线优化工作。该补丁系列尝试重新组织核心网络堆栈变量,以最大限度地减少数据传输阶段的缓存行消耗。具体来说,研究了TCP/IP堆栈和TCP中的快速路径定义。

特别是对于AMD EPYC服务器来说,这是一个巨大的改进。感谢谷歌继续推动这些非常诱人的低级内核优化的人们。

网络驱动支持

Linux 6.8中新的以太网驱动程序硬件支持包括Octeon CN10K设备、Broadcom 5760X P7、Qualcomm SM8550 SoC 和 Texas Instrument DP83TG720S PHY。

蓝牙方面,新的驱动程序支持IMC Networks无线蓝牙设备。

与其他平台相比,英特尔在 Linux 中首次推出 Arc 驱动程序的起步相当缓慢,主要是因为 Team Blue 在提供增强驱动程序功能方面有点晚了。 不过,经过两年的开发,Intel终于将其“改版”的Xe内核显卡驱动提交到了主线内核中。

另外值得注意的是英特尔高速NIC驱动程序增加了对温度和时钟信息报告的支持,以及许多网络驱动程序中的其他随机改进。NVIDIA Mellanox以太网数据中心交换机现在无需重新启动即可享受固件更新。

Linux 6.8中删除了几个过时的WiFi驱动程序。新推出的WiFi支持包括Libertas 16位PCMCIA支持、Atmel at76c50x驱动程序、HostAP ISA/PCMCIA型802.11b驱动程序、zd1201 802.11b USB加密狗、Orinoco ISA/PCMCIA 802.11b驱动程序、Aviator/Raytheon驱动程序、Planet WL3501驱动程序以及RNDIS USB 802.11b驱动程序。

在WiFi协议方面,WiFi7工作仍在进行中,并且还进行了极高吞吐量(EHT) 的改进。

英特尔Xe内核GPU驱动程序

英特尔加大了Linux的开发力度,旨在改进Xe显卡驱动程序并为下一代Arrow Lake和Lunar Lake CPU提供支持。与其他平台相比,英特尔在Linux中首次推出Arc驱动程序的起步相当缓慢,主要是因为Team Blue在提供增强驱动程序功能方面有点晚了。不过,经过两年的开发,Intel终于将其“改版”的Xe内核显卡驱动提交到了linux 6.8主线内核中。

除了Xe显卡驱动程序之外,英特尔还引入了对现有软件包的下一代支持,例如英特尔的VC Intrinsics,它已经获得了对英特尔Arrow Lake和Lunar Lake图形架构的支持。这意味着 Xe-LPG+(Arrow Lake / Alchemist)和 Xe2(Lunar Lake / Battlemage)架构已获得该软件项目的支持。

第一个Rus编写的网络PHY驱动程序

自Linux 6.1起,初始的Rust基础设施被添加到Linux内核中。此后为了使内核驱动程序能够用Rust编程语言编写,Linux内核已经合并了许多其他管道和内务管理工作。随着即将到来的Linux 6.8内核周期,第一个Rust网络驱动程序将被引入。

最近一个“net-phy-rust”驱动程序被合并到了net-next.git分支。该驱动为phylib Rust绑定,包括了启用Rust编写的PHY驱动程序。ax88796b C驱动程序代码完全用Rust编程语言重写。

Rust ASIX PHY驱动大约135行Rust代码加上各种构建系统位。可以使用Kconfig的“AX88796B_RUST_PHY”选项启用此Rust ASIX PHY驱动程序。

AX88796B 驱动程序用于支持X-Surf 100 AX88796B封装中的Asix Electronics PHY。AX88796B是一款100M快速以太网控制器,适用于从HVAC控制到安全系统和其他工业控制系统的嵌入式和工业应用。因此,这不是最令人兴奋的网络硬件(并且该硬件已经得到了C驱动程序的支持),但这个Rust PHY驱动程序是一个开始,并让在接口/绑定上滚动,以实现其他内存安全网络驱动程序将不断完善。

1 阅读:88

虫虫搜奇

简介:世界真奇妙,虫虫带你去搜奇