经过两个月的紧张开发和超过一万七千个错误修复,Linus Torvalds 正式发布了 Linux 内核 7.2。新版本不仅清理了数千行遗留代码,还引入了性能优化、改进了内存管理,并首次推出了设备间新的直接传输技术。
iomap 机制的核心在于消除冗余调用,这使得在使用 ext4 和 xfs 等系统在 NVMe 驱动器上进行高强度负载时,每秒输入/输出操作数 (IOPS) 提高了5%。
Btrfs 现在默认支持大型文件集,以最大限度地提高顺序输入和输出;而Ext4 则重新设计了其快速提交机制,以消除瓶颈,并将复杂目录中的哈希计算速度提高一倍。
此外,还引入了USB4STREAM机制,该机制允许通过 USB4 端口连接的计算机之间直接传输数据。通过在系统上公开一个虚拟设备,用户可以使用标准命令在计算机之间读写信息,完全无需配置复杂的网络桥接或套接字。
此外,交换子系统通过统一匿名内存和共享内存,大幅减少了内存占用,每挂载 1TB 交换空间最多可节省 0.5GB 内存。在处理层面,由 eBPF 驱动的 SCHED_EXT 机制现在允许创建嵌套调度器,使每个控制组都能独立管理自己的任务。
内核调度器现在支持缓存感知负载均衡,它将智能线程分组以共享同一个高级缓存,从而显著提高数据访问效率。SCHED_EXT机制进一步增强了这一性能,它允许创建嵌套的子调度器,使每个控制组 (cgroup) 都能管理自己的执行规则。
此外,值得注意的是,最初引入了一种创新的公平 GPU 调度器,但由于在通过 Proton 兼容层运行游戏时出现性能崩溃的回归问题,不得不在最后一刻将其禁用,迫使暂时恢复到传统的 FIFO 模型。
与此同时,内核继续进行必要的清理工作,彻底取消了对缺少浮点单元的旧 i486 处理器的支持,并在使用了几十年后停止了久负盛名的 AppleTalk 网络协议。
安全性和虚拟化技术正通过消除历史遗留的攻击途径而不断进步。KVM虚拟机管理程序现在利用了 Intel MBEC 和 AMD GMET 硬件扩展,实现了虚拟机内核空间和用户空间之间执行权限的独立管理,从而减少了向虚拟机管理程序进行代价高昂的控制权转移。
在代码库中,不安全的 `strncpy` 函数已被彻底移除。这项工作耗时数年,提交了数百个补丁,最终以溢出安全的替代方案取而代之。此外,AF_ALG 的硬件加速器已被移除,优先考虑用户空间的软件实现;Landlock 模块也扩展了其保护范围,对 UDP 网络套接字进行了严格控制。
此次版本更新还将因其对遗留代码的清理和对新标准的采用而被铭记。对 i486 处理器的支持已被取消,标志性的 AppleTalk 协议、ARCnet 接口和老旧的 ATM 网络连接也同样遭遇了同样的命运。
相比之下,PPPoE 控制器则展现了现代化的一面,它采用了 GRO 和 GSO 卸载机制,使数据包重组性能提高了五倍。
最后,随着 HDMI 2.1 FRL 技术被引入到用于 8K 传输的开源 AMDGPU 驱动程序中,硬件支持达到了顶峰;与此同时,Rust-for-Linux 生态系统也在稳步发展,增加了对 s390 架构的支持,并推进了 Nova 驱动程序的集成,以控制基于 Turing 架构及以上版本的现代 NVIDIA GPU。
最后,如果您有兴趣了解更多信息,可以点击以下链接查看详情。