系统极客一直在努力
专注操作系统及软件使用技能

Linux 6.16 内核发布:普及 5 级页表,核心性能跃升

Linux

Linux 6.16 内核正式发布!在网络、安全和硬件支持等方面,带来了一大波改进。接下来,就让我们一同速览,Linux Kernel 6.16 中的新特性亮点。

Linux 6.16 内核新特性概览

网络性能提升

  • 本次更新的一大亮点是,引入了全新的 OpenVPN 数据通道卸载(DCO)驱动。通过把主要的数据通道处理,从用户空间搬到内核空间,彻底解决了 VPN 的老大难性能瓶颈,尤其在需要大流量数据传输时,吞吐量的提升真实可见。
  • 此外,Linux 6.16 内核的 TCP 协议也更进了一步。现在,能直接把设备内存(比如 GPU 显存)里的内容迅速发送到网络,实现了GPU 到网络的「零拷贝」传输。虽然还需要一些额外配置才能启用,但对那些数据密集型应用来说,这绝对是一大性能突破。

5 级页表全面普及

  • 在 Linux kernel 6.16 中,5 级页表(Five-level page tables)已经「无条件启用」 。
  • 现代 CPU 会用「页表」把程序用到的虚拟内存地址映射到真实硬件的物理内存。传统的 4 级页表最多只能支撑到 256 TB 内存,而新增的第 5 级页表,直接把上限推高到了惊人的 128 PB。

当然了,绝大部分桌面用户其实根本用不到这么夸张的寻址空间;但考虑到 AI、机器学习等场景的内存用量一路飙升,把 5 级分页定为标配,也是在为 Linux 的未来发展提前布局。

Intel 和 AMD 的 CPU 均已全面支持 5 级页表,预计这项技术将得到更广泛的应用。

安全性壁垒更坚实

  • 新增了对 Intel Trust Domain Extensions(TDX)的支持,为基于 KVM 的虚拟机提供了硬件级内存加密,能够有效隔离 VM 和已被攻破的主机。
  • 引入了「硬件封装加密密钥」功能,能够将文件系统的加密密钥存储到专用安全硬件,而不是更容易被攻击的系统内存里,大大提升了密钥安全性。
  • 其他方面,能够对内核数据结构布局随机化、randstruct GCC 插件现已恢复工作。完整性度量架构(IMA)的测量值现在能在kexec(热重启)后保持不丢,确保系统重启期间的完整性监控不被打断。

文件系统性能优化

  • Ext4 文件系统:现在可以为常规文件用上「大页」(large folio),性能有了 「惊人」提升。在某些场景下,内核测试机器人报告显示,顺序大文件 I/O 性能暴增了 37% 以上。
  • XFS 文件系统:加入了原子写支持,数据完整性更有保障;FUSE 子系统的目录读取缓冲区也变得更大。Phoronix 的实测发现,常见场景下的性能也更好
  • Bcachefs 文件系统:可以配置设备仅在连接电源时才执行「重平衡数据迁移」(一种后台数据迁移任务)。对笔记本用户来说,能有效延长电池续航时间。

扩大硬件支持

  • Linux 6.16 内核新增并完善了大量硬件支持,包括对众多 AMD、Intel、ARM 新设备的初步适配、初始支持或持续完善。
  • USB 音频设备现在加入了「音频卸载」(Audio Offloading)功能,音乐能在系统其它模块休眠时「继续播放」。
  • intel_pstate驱动现在也能为没有 SMT(同步多线程)的混合架构(如 Intel Lunar Lake 芯片)注册能源模型,实现「能效感知」的任务调度。

此外,一些现有设备的体验也有了长足进步,比如:

  • 支持 Apple Magic Mouse 2(USB-C 版本)。
  • 支持 Acer Nitro NGR200 和 ByoWave Proteus 游戏手柄。
  • Alienware WMI 驱动与 HWMON 子系统打通。
  • 通过 ASUS WMI 驱动,改进了 ASUS ROG Ally 挂起和唤醒。
  • OneXPlayer 掌机可以控制充电限制和 Turbo 指示灯。
  • Dell DDV 驱动现在能显示电池健康和制造信息。
  • ThinkPad 支持摄像头物理开关热键。

其他值得关注的变更

除了以上亮点,Linux kernel 6.16 还有一些值得注意的变化:

  • 移除了过时的uselib()系统调用。
  • KVM 对 RISC-V 的支持不再处于「实验性」阶段。
  • 移除了 Bounce buffering 支持。
  • ARM64 获得了惰性抢占(lazy-preemption)和嵌套虚拟化支持。
  • 继续加大对「基于 Rust 的内核驱动」的支持。
  • 新增命令行选项,用于启用或禁用实时任务的组调度。
  • 提升了 RISC-V 平台上getrandom()系统调用的速度。
  • SELinux 为目录访问决策引入了缓存机制。
  • NFS 文件系统的读写大小限制增加到了 4MB。

要了解更多细节,请查看 LWN 社区整理的详尽合并报告:第一部分第二部分,并随时关注 Linux 的内核更新进展

赞(0)
分享到

评论 抢沙发