Linux Kernel 7.2 正式发布:调度、文件系统、网络与硬件支持全面升级

Linux Kernel 7.2 正式发布,Linux 内核项目负责人 Linus Torvalds 宣布了这一最新稳定版本。作为新一代 Linux 内核,Linux 7.2 在进程调度、文件系统、网络、虚拟化、内存管理、安全以及硬件支持等多个方面带来了大量改进,同时也进一步清理了一批已经过时的硬件支持和内核代码

与此前版本相比,Linux 7.2 并没有集中在某一项重大功能上,而是对内核的多个核心子系统进行了持续优化。这些变化虽然不少属于底层技术,但对于服务器、桌面电脑、虚拟机以及各种嵌入式设备来说,都有望带来更好的性能、稳定性和硬件兼容性。

⚙️ 调度器迎来缓存感知优化

Linux 7.2 在进程调度方面加入了缓存感知型负载均衡机制。简单来说,内核现在会更加关注不同 CPU 之间的缓存关系,在进行任务调度时,尽量让共享缓存资源的进程继续运行在相同的 CPU 缓存域中。

这样可以减少进程频繁在不同 CPU 之间迁移所产生的缓存失效和数据重新加载开销。对于部分对缓存敏感的工作负载来说,这项改进有望进一步提升整体运行效率。

🧠 内存与文件系统持续优化

内存管理同样获得了一系列改进。持续重构中的 swap 子系统进一步统一了匿名 folio 和共享内存 folio 的处理方式,同时降低了自身运行所需要的内存开销。开发人员表示,相关静态元数据带来的额外开销已经接近于零,部分工作负载的性能也得到了一定提升。

文件系统方面,Btrfs 成为了 Linux 7.2 的重点改进对象之一。大 folio 现在默认启用,并新增了最大 2 MB folio 的支持,不过后者目前仍属于实验性功能。XFS 的分区存储支持也进一步成熟,这项功能最初在 Linux 6.15 中加入,如今已经不再被标记为实验状态。

存储子系统还新增了 dm-inlinecrypt Device Mapper 目标,主要用于支持内联加密功能的块设备。NFS 则将默认传输块大小提升至 4 MB,不过这一调整只会应用于内存容量至少达到 16 GB 的系统。

此外,内核中的 SMB 服务器现在支持以压缩形式存储文件,并可以对通过网络传输的数据进行压缩。NTFS 也进一步增强了磁盘元数据损坏防护能力,同时增加了对 Windows 原生符号链接的支持。

🌐 网络与 BPF 获得多项增强

网络子系统也迎来了不少变化。MultiPath TCP(MPTCP)的子流数量上限从此前的 8 个提升至 64 个,对于需要通过多条网络路径进行数据传输的应用来说,这意味着更大的扩展空间。

与此同时,Linux 开发人员仍在持续减少网络子系统对全局 rtnl_lock 的依赖,以降低大型系统中的锁竞争,并进一步改善网络子系统的扩展能力。

BPF 同样获得了一系列更新。BPF 哈希映射现在可以采用可动态调整大小的实现,不再需要在创建时固定桶数量。此前 BPF 函数和 kfunc 最多只能使用 5 个参数,这一限制也被取消,现在可以通过栈传递更多参数。此外,同一个 BPF 程序现在能够更加高效地附加到多个 tracepoint,为性能分析、监控和安全工具开发提供了更大的灵活性。

🖥️ KVM 虚拟化能力进一步提升

虚拟化方面,KVM 新增了对 Intel Mode-Based Execution Control(MBEC)和 AMD Guest-Mode Execution Trap 的支持。

这些技术可以帮助虚拟机更加精细地控制代码执行权限,并减少虚拟机在处理权限相关操作时频繁进入宿主机的情况,从而改善虚拟化环境的运行效率。

针对 Intel TDX 系统,Linux 7.2 还加入了管理 TDX 软件模块的基础设施,其中包括在系统运行过程中替换 TDX 模块的能力,为机密虚拟机环境提供了更加灵活的管理方式。

🦀 Rust 支持继续扩大

Linux 内核对 Rust 的支持也在不断推进。Linux 7.2 将 IBM s390 架构加入到可以构建 Rust 内核代码的架构列表中,这意味着 Rust 在 Linux 内核中的应用范围进一步扩大。

与此同时,内核源码树中还加入了 Rust zerocopy crate,为内存数据处理提供低成本的基础功能,同时有助于减少不安全代码的使用范围。

🛡️ 安全功能进一步加强

安全方面,Landlock 获得进一步扩展,现在可以限制 UDP 套接字的使用,为应用程序提供更加细粒度的网络访问控制能力。

Integrity Measurement Architecture(IMA)也新增了从内核内存中导出并删除测量数据的能力。对于长期运行并积累大量测量记录的系统来说,这项改进可以帮助释放内存资源。

🧹 清理过时硬件与旧代码

除了增加新功能之外,Linux 7.2 也继续进行内核代码“瘦身”。开发团队进一步清理了多年以前遗留下来的旧硬件和架构支持,其中一个比较明显的变化,就是删除了超过 13,000 行用于没有硬件 FPU 处理器的浮点运算模拟代码

PowerPC 架构中针对特定硬件优化的 MD5 实现也被移除。同时,一些已经较少使用的网络硬件和协议支持也被清理,包括部分 ISA 和 PCMCIA ARCnet 设备、老旧的 PCMCIA 蓝牙适配器、更多 ATM 相关代码以及 AppleTalk。

此外,AF_ALG 机制已经被标记为弃用,未来可能会从 Linux 内核中彻底移除。

📦 新增 SBOM 生成功能

对于需要自行编译 Linux 内核的开发者来说,Linux 7.2 还加入了一项比较实用的新功能,现在可以通过 make sbom 命令生成与当前内核配置对应的 SBOM,也就是软件物料清单。

该功能会利用 Linux 内核源码中的 SPDX 信息,只把当前配置下实际参与编译的文件纳入清单,因此生成的 SBOM 能够更加准确地对应最终构建出来的内核。

与此同时,构建 Linux 内核所需的最低 LLVM 版本也提升至 LLVM 17.0.1。

💻 硬件支持更加丰富

硬件兼容性一直是 Linux 内核更新的重要内容,Linux 7.2 也带来了大量新的硬件支持。此次更新涵盖无线网卡、游戏掌机、数位板、图像处理器以及各种传感器和 SoC 组件,为新设备提供了更好的支持。

其中包括:

  • Realtek 8922AU USB 无线网卡、Virtio CAN 接口、OneXPlayer 掌机控制器、新款 Wacom 设备、更多 AMD 图像信号处理器,以及 USB4STREAM 硬件,同时还增加了大量传感器、电源控制器、音频编解码器、SoC 组件和 PHY 等设备支持。

📥 Linux 7.2 已开放下载

Linux Kernel 7.2 现已可以从 kernel.org 获取源代码。采用滚动更新模式的 Linux 发行版通常会较快将新内核加入软件仓库,而其他发行版则需要经过自身测试和打包流程,预计会在之后陆续提供更新。

对于普通用户来说,没有必要为了追求最新版本而立即手动编译 Linux 7.2。如果当前使用的 Linux 发行版已经提供经过测试的 Linux 7.2 软件包,建议优先通过发行版官方软件仓库进行升级,这样通常能够获得更好的兼容性和稳定性。

🌟 总结

总体来看,Linux 7.2 是一次覆盖面非常广的内核更新。它不仅改进了 CPU 调度、内存管理、Btrfs、网络、BPF 和 KVM 等核心组件,还进一步扩大了 Rust 支持范围,并加入 SBOM 生成功能。

与此同时,Linux 7.2 继续清理已经过时的硬件和历史代码,让内核保持更加精简和现代化。对于服务器、虚拟化平台、开发环境以及新硬件用户来说,这些底层改进都具有一定价值。

对于普通桌面用户而言,最合适的方式仍然是等待所使用的 Linux 发行版完成测试并提供官方软件包,再进行升级。随着 Linux 7.2 陆续进入各大发行版的软件仓库,新内核带来的性能优化、硬件支持和安全改进也将逐渐惠及更多 Linux 用户。

The post Linux Kernel 7.2 正式发布:调度、文件系统、网络与硬件支持全面升级 first appeared on Linux迷.

版权声明:
作者:Zad
链接:https://www.techfm.club/p/237825.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>