10 月 3 日消息,Linus Torvalds 今天宣布 Linux 6.0 正式版发布,作为主要的内核系列,它带来了新的功能,改进了硬件支持,以及错误 Bug 和安全修复。

经过两个月的开发,Linux 内核 6.0 到来,支持 NVMe 带内认证,支持 OpenRISC 和 LoongArch 架构的 PCI 总线,使用 XFS 和 io_uring 时的异步缓冲写入,以及 io_uring 零拷贝网络传输支持。

IT之家获悉,Linux 内核 6.0 还带来了对 RISC-V 硬件架构的“Zicbom”扩展的支持,用于管理具有非缓存一致性 DMA 的设备,还有新的运行时验证子系统,允许内核状态监控,支持生成新的 CXL 内存区域,支持在 OverlayFS 文件系统上正确实现 POSIX 访问控制列表,以及实现第二代 Btrfs“发送”协议,支持发送大型数据和原始压缩扩展。

其他值得注意的变化包括 DAMON 机制中新的用户空间内存管理功能,支持将 NFSv4 服务器限制在 1GB 内存的 1024 活跃客户端,支持 EXT4 文件系统获取和设置存储在文件系统超级块中的 UUID,支持 fsnotify 子系统以更好地控制被忽略的事件,支持连接到 uprobes 的可睡眠 BPF 程序,以及对 perf 工具的锁争夺追踪点和内核内聚合 BPF 的新报告。

在虚拟化方面也有好消息,Linux 内核 6.0 引入了新的伪设备,叫做“guest vCPU stall detector”,可以作为“看门狗”,告诉主机虚拟机是否停滞。在 Linux 6.0 中还有新的 debugfs 接口,新的 BPF 迭代器,一组新的 BPF kfuncs,用于生成和检查 SYN cookies 的新 BPF 助手,以及新的基于 io_uring 的用户空间块驱动器。

“希望大家都清楚,主要的版本号变化更多的是数值,而不是关于任何大的基本变化。当然,6.0 中有很多不同的变化 ―― 毕竟我们在其中有超过 15000 个非合并提交,因此 6.0 是一段时间内至少在提交数量上较大的版本之一,”Linus Torvalds 说。

当然,Linux 6.0 还包括许多更新和新的驱动程序,以便更好地支持硬件。除此之外,它还增加了许多错误 Bug 修复和调整,以提供比以前的内核更好的性能,这里最值得注意的是对大型系统上的任务安排的调整,对内核内 TLS 实现的性能改进,以及新的 IORING_RECV_MULTISHOT flag,以使 recv () 调用能够进行多镜头操作。

安全方面,Linux 内核 6.0 实现了从 bootloader 的设置数据中获取随机数 seeds 到 x86 和 m68k 内核,支持 SafeSetID 安全模块来控制 setgroups () 的变化,支持 ARIA 加密算法,以及支持钩子连接到控制组或单一目标进程到 BPF 安全模块。

其他硬件等特性支持如下:

- 像 A750 和 A770 这样的英特尔 Arc 独立 GPU 可以在 Linux 6.0 内核的 i915 DRM 内核驱动上运行,但目前仍然是实验性的,所以需要“force_probe”选项来启用。但至少在 Linux 6.0 中,现在可以使用这些新的英特尔桌面独显与更新的 Mesa 堆栈配对。

- 更多的 AMD RDNA3 的启用,希望能够与即将推出的 Radeon RX 7000 系列显卡一起工作。

- 高通骁龙 8xc Gen 3 支持和对联想 ThinkPad X13s Arm 笔记本电脑早期支持。这项工作在主线上仍处于早期形式,但至少已经可以使用,并开辟了 Arm Linux 笔记本电脑选项。

- 各种调度器的变化,包括一些针对 AMD Zen 的 NUMA 平衡增强,以及 AMD CPU 现在倾向于 MWAIT 而不是 HALT。

- 英特尔 Raptor Lake 的各种补充,如 TCC 冷却驱动、RAPL 驱动中的 Raptor Lake P、Raptor Lake USB4 / Thunderbolt,以及其他缺失的 Raptor Lake ID。还有一些初步的 Meteor Lake 支持,比如音频代码和其他地方。

- 对 AMD Ryzen 7000“Raphael”平台的音频驱动支持。

- 支持 IO_uring 用户空间块驱动,各种 IO_uring 优化,以及其他有希望的 I / O 相关工作,如 Btrfs Send Protocol v2。

- 对英特尔 Habana Labs Gaudi 2 的初步支持。

- H.265 / HEVC media user-space API 现在已经宣布稳定。

- 安全关键系统的运行时间验证。

Linux 内核 6.0 可以从 Linus Torvald 的 git repo 下载,供那些喜欢编译自己内核的人使用。对于其他人来说,需要等到发行版维护者将内核升级到 6.0 版本后再尝试安装。