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

Linux Kernel 6.15 新特性深度解读

Linux

Linux 6.15 内核正式发布!这次更新主要以小幅改进为主,其中驱动部分占据大头。此外,还包括了对 bcachefs、网络子系统、内存管理等核心模块的修复。

接下来,让我们一起深入了解 Linux 6.15 内核中都有哪些值得关注的新变化。

Linux 6.15 内核主要更新

图形显示

我们先来看看目前对「桌面 Linux」用户来说「影响不大」,但未来可能产生重大影响的新进展——首次引入面向 Nova 显卡驱动的基础代码框架。

  • Nova 有望在未来取代 Nouveau,成为新的开源 NVIDIA 显卡驱动,尤其适用于采用 GSP 架构的新型 GPU。
  • 值得注意的是,Nova 顺应当前技术趋势,采用了 Rust 语言编写。

目前,Nova 驱动还处于早期阶段,图形显示功能尚未实现,但这个项目意义重大。考虑到 Linux 长期以来在 NVIDIA 显卡支持方面一直存在争议,Nova 的后续发展值得持续关注。

与此同时,Intel 的 Xe 显卡驱动在本次更新中也得到了进一步完善:

  • 已经支持 SVM(共享虚拟内存) 功能。
  • 新增了 GPU 崩溃事件报告机制,可以在 GPU 响应异常时,及时通知「用户空间」。
  • 针对 Arc 系列显卡,现在可以通过 HWMON 模块实时获取 GPU 和显存的温度信息。

内核核心

Linux 6.15 内核也带来了一些颇具争议的重大更新。

fwctl 子系统

首先是全新的 fwctl 子系统。这项功能在「主线合并」之前经历了不少波折。目前,已包含对 CXL 设备、mlx5 网络适配器,以及 AMD/Pensando 分布式服务卡的初步驱动支持。

fwctl 的核心目标是实现设备固件的 RPC 远程过程调用标准化。这样一来,设备固件的配置、升级和调试流程就能变得更加统一、可靠且安全。同时,这些操作也可以直接在「用户空间」完成。

虽然该机制有望大幅提升 Linux 系统在固件管理方面的体验,但也引发了一部分开发者的质疑。例如,有开发者指出,fwctl 的开发过程略显封闭,没有完全遵循内核的标准开发流程。而且现有的某些 API 也能实现类似功能,是否真的需要重新「造轮子」仍然存在争议。

io_uring 子系统的新「安全钩子」

另一个引发争议的更新是 io_uring 子系统新增的「安全钩子」。设计初衷是让 SELinux 等安全模块可以对内核读取的不同数据类型施加更细粒度的策略控制,从而进一步增强内核的安全性。

该特性在合并前曾遭到 Linus Torvalds 本人的强烈质疑,他主要担心该功能带来的复杂度和实际用途是否成正比。相关讨论曾一度非常激烈。

这两项更新再次体现了 Linux 内核社区在创新与规范之间的微妙平衡:既要推动前沿技术的落地,还要兼顾长期形成的开发流程和社区共识。

io_uring 引入 zcrx 支持

在更具普适意义的改进方面,Linux 6.15 为 io_uring 引入了零拷贝接收(zcrx)支持。可以让网络数据包直接写入「用户空间」的内存,省去多次内存拷贝的开销,从而显著提升网络密集型应用的性能。

与以往的零拷贝方案相比,zcrx 不再需要复杂的内存对齐或 mmap 操作,使用起来更加简便。未来还计划实现网络数据直接写入设备内存,进一步优化数据传输路径。

TCP_RTO_MAX_MS 套接字选项

在网络栈方面,Linux 6.15 新增了**TCP_RTO_MAX_MS套接字选项**。允许开发者更灵活地控制 IPv4 连接的超时重试时间,特别适用于网络状况不稳定或容易断开的场景。

此外,还为 fanotify 提供了新的 API,用以监听文件系统的挂载和卸载事件。帮助相关应用实时感知文件系统的变化,并据此作出响应或通知,进一步增强系统的可管理性。

硬件包装的加密密钥

在存储方面,block 层现在支持硬件包装的加密密钥。允许内核直接将加密密钥导入块设备,而不必在内存中长期保存。如此一来,就能有效降低密钥被恶意攻击者读取的风险,显著提升系统的整体安全性。

文件系统更新

FUSE(用户空间文件系统)子系统

  • 引入了强制超时机制。当「用户空间」的服务端(例如通过 SSH 挂载的远程文件系统)无响应时,内核会自动断开连接。可以有效避免系统因远程挂载异常而卡死的情况发生。
  • FUSE 现在可以处理超过 1024 个字符的超长文件名,大大增强了对复杂文件结构的支持能力。

exFAT 文件系统

  • exFAT 文件的删除速度有了显著提升。如果在挂载时启用discard参数(即在文件删除后通知存储设备该数据块可以回收),删除一个 80 GB 大文件所需的时间,从原来的 4 分钟以上减少到了仅 1.6 秒,效率提升十分明显。

Btrfs 文件系统

  • 当 Btrfs 处理需要校验的数据文件并尝试进行直接 I/O 时,如果条件不满足,系统现在会自动回退到缓冲区写入模式。这一改进在虚拟机等环境中,可以大幅减少因校验值不匹配而引发的错误。
  • 新增了对 zstd 压缩的fastrealtime模式支持,压缩等级设定为-15-1。这一改动的重点在于提升压缩与解压的效率,即使会略微降低压缩率。
  • 这些负值压缩等级现在已被 defrag ioctl 所支持,进一步增强了性能优化的灵活性。

Bcachefs 写时复制文件系统

  • 引入了全新的scrub功能,不仅可以检测文件系统中的错误,还能尝试进行自动修复。
  • Bcachefs 现在支持大于系统页面大小的块尺寸,为性能调优提供了更大的空间。

ARM 和 RISC-V 架构支持

Linux 6.15 在 ARMRISC-V 架构上的硬件兼容性有了持续拓展,重点聚焦于工业控制、嵌入式系统,以及边缘计算等场景。

  • 面向普通用户:首次加入了 Google Pixel 6 Pro(gs101)的设备树支持,这将为该设备带来更好的内核级兼容性。同时,还为 Allwinner A523 平台添加了基础适配。
  • 在 RISC-V 方面:支持了新发布的 Milk-V Jupiter ITX 主板;引入了对 BFloat16 浮点扩展的支持,增强了 RISC-V 在 AI 和浮点运算场景中的表现;此外,还新增了对ZBKBZaamoZalrsc等指令扩展的支持,持续拓展 RISC-V 在高性能与多样化应用场景下的适应能力。

设备驱动与硬件支持

在硬件驱动支持方面,Linux 6.15 内核也带来了多项用户期待已久的新功能。

新增了两组内核驱动

首先,实现了对 Intel 架构 MacBook Pro 上 Touch Bar 的完整支持。同时,还专门为 Apple M1 和 M2 芯片的 MacBook Pro 机型添加了 Touch Bar 驱动(由于 Apple 从 M3 芯片开始取消了这一硬件,此功能仅适用于早期机型)。

这些驱动覆盖了 Touch Bar 的主要功能,包括:背光调节、触摸交互和功能键显示,部分机型还能显示更多自定义信息。大大提升了在 MacBook 上运行 Linux 系统的用户体验。

新增 Samsung GalaxyBook 驱动

现在,Linux 用户在 Samsung GalaxyBook 系列笔记本上安装系统时,可以享受到完整的 ACPI 平台配置支持。可以实现诸如电池充电阈值管理、功能键操作等实用特性。GalaxyBook 用户终于能够获得更接近原生的系统体验。

游戏外设方面

在游戏外设方面,Sony PlayStation 5 手柄运行更加流畅。同时,得益于hid-pidff驱动的升级,以下设备的强力回馈效果也得到了显著优化:

  • Moza Racing
  • Cammus
  • 多款模拟赛车与飞行控制器

此外,针对经济型 Xbox 手柄,也实现了更好的兼容性,包括:

  • Turtle Beach Recon
  • Stealth Ultra
  • PowerA 有线 Xbox 手柄

最后,如果你使用的是搭载 Intel Killer E5000 网卡的设备,只需添加一行代码,就能实现对该网卡的完整支持。

其他值得关注的新变化

除了上述重点更新,Linux 6.15 内核还带来了一系列值得关注的新增功能和改进,涵盖系统底层机制、性能分析、安全增强等多个方面:

  • 伪文件系统全面切换至新一代挂载 API,为未来更灵活的挂载管理打下了基础。
  • 通过pidfd获取进程退出状态,即使进程的资源已被回收,也能准确查询其状态。
  • 引入可选的内存映射 sealing 支持,增强了特定场景下的内存数据安全性。
  • Perf 子系统新增延迟分析功能,帮助开发者更深入地理解系统调度与 I/O 延迟。
  • XFS 文件系统正式支持分区(zoned)存储设备,为新型 NVMe ZNS 硬盘提供了原生支持。
  • 新增traceoff_after_boot选项,用于在系统完成启动后自动关闭内核追踪,减少性能开销。
  • 任务调度器逻辑更新,包括全新的默认空闲 CPU 选择机制,优化了系统整体调度效率。
  • 新增 Qualcomm Iris 视频解码驱动,当前仅支持 h.264 格式,未来有望支持更多编码格式。
  • Rust 支持进一步完善,新增多个抽象层接口、单元测试宏,并正式引入对 ARMv7 架构的支持。
  • Python 依赖升级,用于开发和文档构建的工具现已要求 Python 3.9 或以上版本。

要了解更多细节,请查看 LWN 社区整理的详尽合并进度报告:第一部分第二部分

赞(1)
分享到

评论 抢沙发