LWN:6.9 合并周期的后半部分!

关注了就能看到更多这么棒的文章哦~

The rest of the 6.9 merge window

By Jonathan Corbet
March 25, 2024
Gemini translation
https://lwn.net/Articles/965541/

6.9-rc1 内核预发布版本于 3 月 24 日公布,标志着本次开发周期的合并窗口关闭。截至那时,已有 12,435 个非合并变更集(non-merge changeset)被合并到主线(mainline)中,这使得本次合并窗口比最近几个内核版本要轻松一些(但与 6.5 版本的 12,492 个变更集是类似水平)。在 上半部分合并窗口总结 撰写之后,超过 7,000 个变更被合并,这意味着合并窗口的后半部分带来了更多有趣的变化。

在 6.9 合并窗口的后半部分合并的最重要的工作包括:

体系结构相关

  • 现在 64 位 Arm 处理器也支持了 Rust 语言。

  • 现在可以在 LPA2 模式下运行 64 位 Arm CPU,该模式设置了一个 52 位的虚拟地址空间。

  • LoongArch 架构获得了对 ORC 堆栈展开器(stack unwinder)、 objtool 二进制工具和内核实时补丁的支持。

  • RISC-V 系统现在支持 membarrier() 系统调用。

内核核心

  • 加权交错(weighted interleaving) 已被合并,它提供了对页面(page)在异构内存系统上的放置选择的更好的控制。

  • 为 64 位 Arm 处理器添加了基本的连续 PTE 支持。这篇文章 中描述的此功能通过启用更好的转换后备缓冲区 (TLB) 使用来提高性能。

  • 通过合并 补丁 减少 vmalloc() 锁争用,内存管理性能也得到了提高。

  • 函数返回探测(function return probes)现在可以获取到被探测函数调用的参数;此功能可以帮助发现对这些参数所做的改动。变更日志 包含一个使用示例。

文件系统和块 I/O

  • 添加了设备映射器(device mapper)的“虚拟数据优化器”(VDO, virtual data optimizer) 目标。

    dm-vdo(虚拟数据优化器)目标提供内联的重复数据删除、压缩、零块消除和精简配置。dm-vdo 目标最多可以支持 256TB 的存储空间,并且可以呈现高达 4PB 的逻辑大小。该目标最初由 Permabit Technology Corp. 于 2009 年开始开发。它于 2013 年首次发布,并一直用于生产环境中。在 Permabit 被 Red Hat 收购后,它于 2017 年开源。

    有关其设计和使用方式,请参阅 此文档提交。

  • 为 XFS 添加在线文件系统检查和修复的工作仍在继续,现在涵盖了另一组数据结构。

  • ext2 文件系统已被标记为已弃用,主要是因为它无法在 2038 年 1 月之后正确表示日期。该文件系统不会很快消失,ext2 文件系统也由 ext4 模块涵盖,但鼓励用户避免使用 ext2。

  • FUSE 透传(passthrough) 的初始支持已合并。此功能允许由用户空间 FUSE 服务进程提供的文件的 I/O 由内核直接处理,而无需经过该服务进程。在某些情况下,可以显着提高性能。对于 6.9,透传模式仅支持有特权的服务进程;未来会继续扩展让它在更多情况下可用。

硬件支持

  • 时钟: R-Car V4M 时钟、Qualcomm X1E80100 时钟控制器和 Qualcomm SC7180 调制解调器时钟控制器。

  • GPIO 和引脚控制: R-Car V4M (R8A779H0) 引脚控制器和 Awinic AW9523/AW9523B I2C GPIO 扩展器。

  • 图形: Boe TH101MB31UIG002-28A 面板、Novatek NT36672E DSI 面板、Freescale i.MX8MP HDMI PVI 桥接器、Freescale i.MX8MP HDMI-TX 桥接器、Himax HX83112A-based DSI 面板和 Renesas RZ/G2L 显示单元。

  • 硬件监控: Analog Devices LTC4282 高电流热插拔控制器 I2C 接口、Microsoft Surface Pro 9 风扇监控器、Monolithic Power MPQ8785 降压控制器、Amphenol ChipCap 2 相对湿度和温度传感器、NZXT Kraken X53/X63/X73 和 Z53/Z63/Z73 散热器、ASUS ROG RYUJIN II 360 风扇/传感器控制器、Astera Labs PT5161L PCIe 重定时器温度传感器和 ASPEED g6 PWM 和风扇转速控制器。

  • 工业 I/O: AMS AS7331 紫外线传感器、Analog Devices ADMFM2000 双微波下变频器、Texas Instruments ADS1298 医用模数转换器、Microchip Technology PAC1934 功率监视器和 Voltafield AF8133J 3 轴磁力计。

  • 输入: Goodix Berlin 触摸屏。

  • 其他: ChromeOS EC GPIO 控制器、Maxim MAX6958/6959 7 段 LED 控制器、Kinetic KTD2801 1 线 GPIO 控制的背光、ON semiconductor NCP5623 LED 控制器、MediaTek MIPI CSI CD-PHY、Rockchip Samsung HDMI/eDP Combo PHY 和 Qualcomm MSM8909 和 SM7150 互连。

  • 声音: Qualcomm WCD9390/WCD9395 编解码器和通用基于成帧器的编解码器。

  • USB: ITE IT5205 Type-C USB Alt Mode 被动多路复用器和 Realtek RTD USB2 和 USB3 PHY 收发器。

其他

  • 有关为 6.9 添加到 perf 工具的新功能的摘要,请参阅 此合并消息。

  • 跟踪(tracing)子系统中的 用户事件(user events) 现在可以导出多种格式;例如,在库的格式发生变化的时候,这将很有用。此文档提交 包含更多信息;另请参阅 系列封面信。

安全相关

  • 内核的 完整性测量架构和扩展验证模块 (IMA/EVM, Integrity Measurement Architecture and Extended Verification module) 已转换为相应的 Linux 安全模块。应该没有用户可见的影响,但是这种变化(由缓慢进行的 安全模块堆叠 工作来推进)大大简化了代码。

  • 在 6.8 中合并的 安全模块系统调用 的 API 已经更改,以获得更好的 32 位兼容性。理论上,这种变化可能会破坏应用程序,但这些系统调用仅在一个发布的内核中存在了几个星期,因此它们很可能尚未被使用。Linus Torvalds 同意 这种更改可能是安全的。

内核内部变化

  • 内核的能量模型(energy model) 现在可以在运行时更新;例如,这允许内核考虑工作温度对 CPU 能效的影响。

  • 可用于构建内核的 LLVM 的最低版本现在变成了 13.0.1。

  • S/390 架构长期以来一直使用与底层物理地址相同的内核虚拟地址,导致在区分这两个地址空间时存在一定程度的不准确。目前 有一个计划 将内核的地址空间分开,这意味着需要清理上述问题。引入了一些新类型来标记物理地址,允许 sparse 工具查找使用错误地址类型的代码。

希望下次顺利

  • Arm “WXN” 模式曾短暂得到支持。启用后,WXN 会在硬件级别禁用同时具有可写和可执行内存的能力。内核能够在这种模式下运行;是否所有用户空间工作负载都可以运行则不太确定,因此尚不清楚发行版是否会默认启用 WXN。如果需要,可以使用 arm64.nowxn 命令行选项在启动时禁用 WXN。不幸的是,出现了一些问题,WXN 支持暂时被回退掉了。

  • 曾尝试删除从加密层收集和报告统计信息的功能。此提交 包含删除此功能背后的原因;简而言之,该功能从未有过文档,似乎从未使用过,并且会拖慢加密操作的速度。相关改动最终被回退了,但是发现也同时删除了一些有用的功能,但似乎肯定会在未来的开发周期中回归。

所有这些工作的需要时间稳定,预计将持续到 5 月 12 日或 19 日,届时最终的 6.9 内核将发布。较早的这个日期因为会使得合并窗口的前半部分正好放在 Linux 存储、文件系统、内存管理和 BPF 峰会 时期,这似乎可能会让维护者有些忙不过来。但是,从现在到那时,将会有很多错误需要修复,也有许多粗糙的做法需要改进;内核开发社区将像往常一样忙碌。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

11e5044d0a9507ade57cd1b251a6f858.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值