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

Linux Kernel 6.13 发布,新特性解读

Linux

Linux Kernel 6.13 正式发布,带来了许多值得关注的重要功能。首先是针对 Raspberry Pi 的图形驱动程序优化,预计性能会有明显提升。此外,内核还引入了「惰性抢占逻辑」,进一步优化了任务调度效率。同时,对 Rust 语言的支持也得到了增强,让喜欢 Rust 的开发者有了更多选择。

按照惯例,硬件支持方面也没落下。Linux Kernel 6.13 新增了许多硬件和外设的驱动程序,覆盖面更广。还加强了对 Intel 和 AMD 新一代 CPU 和 GPU 的支持,为未来的硬件升级做好了准备。

接下来,我们就来详细解读这些新特性,带你深入了解这次更新的亮点。

Linux Kernel 6.13 更新亮点

核心层级优化

  • 惰性抢占支持:Linux 6.13 内核最亮眼的改动莫过于「惰性抢占支持」。这个新特性简化了内核的抢占逻辑和配置流程,让内核在运行时表现更优。通过减少与调度器相关的调用次数,效率自然也就上去了。

如果你对抢占机制感兴趣,推荐阅读 LWN 的详细文章,里面讲解得非常透彻。

  • io_uring 子系统优化:io_uring 子系统引入了IORING_REGISTER_RING_RESIZE命令,允许共享内存 Ring 动态调整大小。系统可以从较小的 Ring 启动(占用更少内存),然后根据 I/O 需求逐步扩展。这种灵活性带来了显著的性能提升。
  • PIDFD_GET_INFO ioctl() 操作:内核新增了PIDFD_GET_INFO ioctl()操作,用于获取 pidfd 对应进程的信息。此外,内核构建中引入了 AutoFDO(自动反馈驱动优化)和 Propeller 技术,这些优化措施进一步提升了内核的性能和效率。
  • 提升工作队列的并发限制:Linux Kernel 6.13 将工作队列的最大并发限制从 512 提高到了 2048,整整翻了 4 倍!这一改动对于重度依赖工作队列的任务来说,是一大福音。尤其是在服务器和大规模计算场景下,性能瓶颈会大幅减少。(虽然普通桌面用户可能感受不到这些变化,但对服务器和高负载应用设备来说,影响深远。)

从这些核心层级的改动中,可以看出 Linux 内核始终保持着灵活和进步的姿态。社区在决策时,始终以技术优越性为核心标准,只要有必要且有价值,大规模调整也会被采纳。

架构与虚拟化

  • 老款 iPhone 和 iPad 芯片支持:在 Linux 6.13 的开发过程中,一个备受瞩目的变化就是增加了对旧款 iPhone 和 iPad 芯片的支持,涵盖了从 A7 到 A11 芯片,以及多个 X 系列版本。虽然目前还只是基础支持,只能实现基本的启动功能,但这已经是一个不错的开始了!未来或许我们能看到 Linux 发行版在老款 iPhone 和 iPad 上运行,想到这一点,还真是有点小激动呢。
  • Loongarch 和 RISC-V 架构的增强:在架构支持方面,Linux 6.13 内核为 Loongarch 架构添加了实时抢占和惰性抢占功能。同时,RISC-V 架构也得到了增强,新增了对 Smmpm、Smnpm 和 Ssnpm 指针屏蔽扩展模式的支持,进一步提升了架构的性能和能力。
  • 虚拟 CPUfreq 驱动:引入了一款新的虚拟 CPUfreq 驱动,用于在主机和虚拟机 (VM) 系统中协调 CPU 频率。它的核心目标是通过将虚拟 CPU 的频率作为「提示」发送给主机,来优化虚拟机内部任务的性能和能效。
  • ARM CCA 支持:如果你需要在 ARM Confidential Compute Architecture (CCA) 的受保护 VM 中运行 Linux,6.13 内核已经能够满足这一需求。新增的用户空间对受保护控制栈 (Guarded Control Stack) 的原生支持,不仅提高了安全性,还简化了性能分析和调试工作,使得开发者的工作环境更加友好。

文件系统

Linux Kernel 6.13 在文件系统方面的更新也相当给力,尤其是对 ext4 和 XFS 文件系统的原子写支持。要知道,ext4 是 Ubuntu 的默认文件系统,这个改进对许多用户来说意义重大。

  • 原子写支持的扩展:其实,Linux Kernel 6.11 已经为 NVMe 和 SCSI 块设备添加了原子写支持,而 6.13 内核将这一功能扩展到了 ext4 和 XFS 文件系统。微软的 Christian Brauner 在这篇文章中解释道:「原子写是一种带有破损写保护的操作。这意味着,无论是遭遇断电还是硬件故障,写入的数据要么全部存储,要么完全不存储,绝对不会出现旧数据和新数据混杂的情况。」简单来说,这个功能大大提升了文件系统的可靠性,再也不用担心数据写入过程中出问题了。
  • Btrfs 文件系统改进:Btrfs 文件系统这次也有不少亮点。首先,它进一步扩展了对 io_uring 的支持,新增了编码读取功能。其次,还引入了一个名为BTRFS_IOC_SUBVOL_SYNC_WAITioctl()命令,用于等待子卷完成清理操作。这些改进让 Btrfs 在处理复杂任务时更加高效和可靠。
  • reiserfs 的终结:值得一提的是,reiserfs 文件系统已经被完全移除出内核。这标志着内核对较老且功能有限的文件系统的支持正式终结。虽然有点感慨,但这也是技术进步的必然结果。

设备、驱动和其他改动

Linux 6.13 内核在设备和驱动方面也带来了不少惊喜,尤其是对 Raspberry Pi 用户和硬件爱好者来说,可谓是福利满满!

  • Raspberry Pi 图形性能提升:首先,Broadcom V3D 内核驱动迎来了升级版,这是 Raspberry Pi 的核心驱动。此次更新增加了对 1MB「超级页面」和 64KB「大页面」的支持,大幅提升了游戏和高内存需求应用在图形渲染方面的性能。简单来说,树莓派上的游戏体验将更加流畅了!
  • Intel 设备的散热管理支持:在 Intel 设备方面,Linux 6.13 为 Alienware X 系列、M 系列以及部分 Dell 笔记本电脑带来了反向工程的 Dell WMAX 热量管理接口支持。在 Windows 中,Alienware Command Center 应用可以通过该接口让用户自由调整散热方案。但由于 Dell 没有提供 Linux 版应用,Linux 社区的开发者们主动实现了这一功能。现在,Linux 用户也能更好地控制设备散热了。
  • 外设和设备驱动更新:为多种外设和设备添加了新驱动。比如,Corsair Void 耳机现在支持报告电池状态、麦克风位置、固件版本、USB 无线信号状态以及旁音设置。同时,苹果 Magic Trackpad 2 的 USB-C 版本也得到了支持。此外,新增了一款 HID 驱动专门支持 Kysona 生产的经济型游戏设备,目前支持 Kysona M600 游戏鼠标的电池状态报告功能(这款鼠标口碑不错),未来还计划扩展支持更多设备。
  • 存储性能提升:存储方面,Linux 6.13 也不含糊。虽然 SDUC 存储卡规格早在 2018 年就发布了,允许存储容量超过 2TB(最高支持 128TB),但直到今年第一批 SDUC 卡才上市。Linux 6.13 抢先支持了 SDUC 存储卡,同时 UHS-II SDXC 卡的性能也得到了提升。此外,内核还新增了对 NVMe 2.1 规范的支持,并伴随了一系列 NVMe 性能优化和增强。
  • 其他重要更新:除了上述内容,Linux Kernel 6.13 还带来了以下更新:
    • 提升 Intel/AMD 平台上的 CRC32C 和 AEGIS-128 加密性能
    • 增加轻量级防护页支持
    • 支持 NVIDIA NV50+ GPU 的 Nouveau 驱动 DRM Panic 功能
    • 增加 Rust 跟踪事件及内存分配器的原地模块支持
    • 为部分 GPU 提供运行时重新分区功能支持
    • 支持 AMD EPYC 9005 处理器的 AMD P-State 模式
    • 支持 Allwinner A100 SoC 的 CPUFreq 驱动
    • 支持 WireGuard 协议的 Big TCP GSO
    • 让 SELinux 可管理单个 netlink 操作的策略
    • 为 tmpfs 提供大小写不敏感支持
    • 新增(尚未记录的)BPF 功能
    • 增强文件描述符的内存安全性
    • 新的 TX H/W 流量整形 API
    • 支持多粒度时间戳

如果你想更全面地了解 Linux 6.13 内核的开发细节,可以参考 LWN 在开发周期中发布的合并报告(第一部分第二部分)。

赞(0) 赞赏

评论 抢沙发

微信赞赏