关注了就能看到更多这么棒的文章哦~
The rest of the 6.17 merge window
By Jonathan Corbet
August 11, 2025
Gemini flash translation
https://lwn.net/Articles/1032095/
Linus Torvalds 于 8 月 10 日发布了 6.17-rc1 预发布补丁;6.17 合并窗口现已关闭。此次共有 11,404 个非合并变更集 (non-merge changesets) 被拉入主线 (mainline),其中超过 7,000 个是在 合并窗口前半段总结 发布之后提交的。正如预期的那样,这项工作中包含了相当多的改动和新功能。
以下是 6.17 合并窗口后半段合并到主线中的一些最显著的变更:
架构特定
LoongArch 架构对 BPF 的支持得到了改进,现在可以处理动态代码修改、BPF trampolines 和 struct ops 程序。
S390 系统现在支持透明巨页 (transparent huge pages) 的交换和迁移。
内核核心
BPF 子系统现在为 BPF 程序导出了一套标准(但只读)的字符串操作;虽然没有文档,但这些函数可以在 此提交 中找到。
BPF 程序现在拥有标准输出和错误流,可用于向用户空间通信;详情请参阅 此提交。
新的 DAMON_STAT 内核模块提供了简化系统内存管理活动的监控;更多信息请参阅 此变更日志 和 Documentation/admin-guide/mm/damon/stat.rst。
现在可以 per-NUMA 节点(Non-Uniform Memory Access,非统一内存访问)控制主动回收机制的激进程度,允许某些节点比其他节点更积极地驱逐页面。详情请参阅 此变更日志。
可扩展调度器类 现在支持基于控制组的带宽控制(具体来说是 这份文档 中描述的 cpu.max 参数)。
硬件支持
*时钟*:Renesas RZ/T2H 时钟、SpacemiT 复位控制器、Qualcomm SM6350 视频时钟控制器、Qualcomm SC8180X 摄像头时钟控制器、多个 Qualcomm QCS615 时钟控制器以及多个 Qualcomm Milos 时钟控制器。
*GPIO 和引脚控制*:ESWIN EIC7700 引脚控制单元、Qualcomm Milos 引脚控制器、STMicroelectronics STM32 硬件调试端口引脚控制器以及 MediaTek MT8189 引脚控制器。
*图形*:Renesas R69328 720x1280 DSI 视频模式面板、基于 Himax HX83112B 的 DSI 面板以及 Intel 独立显卡非易失性内存。
*其他*:Qualcomm M31 eUSB2 PHY、Sophgo CV1800/SG2000 系列 SoC DMA 多路复用器、Sophgo DesignWare PCIe 控制器(主机模式)、Renesas I3C 控制器、Broadcom BCM74110 邮箱以及 Aspeed AST2700 邮箱。
*网络*:Qualcomm IPQ5018 内部 PHY、Airoha AN7583 MDIO 总线控制器、Broadcom 50/100/200/400/800 千兆以太网卡、Microchip Azurite DPLL/PTP/SyncE 设备以及 Realtek 8851BU 和 8852BU USB 无线网络 (Wi-Fi 6) 适配器。
其他
运行时验证子系统 增加了对 线性时序逻辑 (linear temporal logic) 监视器 的支持;此提交 提供了文档。新增了一个名为 rtapp 的监视器,用于查找实时应用程序中的常见问题;详情请参阅 此提交 中的文档。最后,新的 nrp、sssw 和 opid 监视器可用于内部调度器测试。
tracefs 虚拟文件系统在 /sys/kernel/debug/tracing 上的自动挂载已被弃用;脚本应改用 /sys/kernel/tracing。目前的计划是在 2030 年移除该自动挂载功能。
有关 6.17 中 perf 工具的众多更改的摘要,请参阅 此合并消息。
新增了一个选项,用于从 连续内存分配器 中为内核崩溃转储保留空间,使该内存在崩溃前可供内核使用。详情请参阅 此文档补丁。
网络
内核已移除对 RFC 6675 丢包检测 的支持。该协议长期以来被认为是过时的,自 2018 年以来默认不再使用。目前看来,所有人都在使用 RACK-TLP。
供电设备 (PSE) 实现增加了对可配置预算评估策略的支持,这些策略“被 PSE 控制器用于在功率预算超出等情况下决定首先关闭哪些端口”。更多信息请参阅 此变更日志。
管理组件传输协议 (MCTP) 子系统增加了对网关路由的支持;概览请参阅 此合并消息。
用于 AF_UNIX 套接字的新 SO_INC 选项与 TCP_INQ 类似;它将在套接字上放置一个控制消息,指示有多少数据可供读取。类似地,SIOCINQ 已添加到 VSOCK 地址族。
TCP 实现传统上对接受超出通告接收窗口的数据较为宽容;这种情况在 6.17 中结束,它将更严格地执行窗口限制。
多径 TCP (Multipath TCP) 现在支持 TCP_MAXSEG 套接字选项来设置出站分段的最大大小。
增加了对 DualPI2 (RFC 9332) 拥塞控制协议的支持;有关 Linux 实现的概览,请参阅 此提交。
新的 force_forwarding sysctl 旋钮允许管理员在特定的 IPv6 接口上启用转发。
安全相关
AppArmor 安全模块获得了控制对 AF_UNIX 套接字访问的能力。有关其工作原理的概览,请参阅 此提交变更日志。
虚拟化与容器
Arm 系统上的 KVM 现在支持 GICv5 中断控制器。
内核内部变更
网络子系统页面池管理的内存现在使用 struct netmem_desc 来引用,而不是 struct page。这项工作是持续将 struct page 迁移到特定于每个 folio 使用方式的描述符过程的一部分。
延迟展开(unwind)基础设施——为 添加基于 SFrame 的栈展开 工作所需的先决条件——已经合并。SFrame 相关工作本身似乎将等待下一个开发周期。
Rust 支持已添加到 warn_on!() 宏、延迟工作队列项、用于用户空间指针的 UserPtr 类型等;详情请参阅 此合并消息。
gconfig 内核配置工具已迁移到 GTK 3 工具包。
此次共有 171 个导出的符号被移除,523 个被添加;完整列表请参阅 此页面。开发者还移除了七个 kfuncs (scx_bpf_consume()、scx_bpf_dispatch()、scx_bpf_dispatch_from_dsq()、scx_bpf_dispatch_from_dsq_set_slice()、scx_bpf_dispatch_from_dsq_set_vtime()、scx_bpf_dispatch_vtime() 和 scx_bpf_dispatch_vtime_from_dsq()),并添加了 15 个其他 kfuncs (bpf_arena_reserve_pages()、bpf_cgroup_read_xattr()、bpf_strchr()、bpf_strchrnul()、bpf_strcmp()、bpf_strcspn()、bpf_stream_vprintk()、bpf_strlen()、bpf_strnchr()、bpf_strnlen()、bpf_strnstr()、bpf_strrchr()、bpf_strspn()、bpf_strstr() 和 bpf_stream_vprintk())。
值得注意的是,在 6.17 合并窗口中,bcachefs 合并请求 没有采取任何行动。在随后的争议性对话中,bcachefs 开发者 Kent Overstreet 表示:“我刚刚收到 Linus 的电子邮件,说‘我们现在正在讨论在 6.18 中进行 git rm -rf’”,但目前没有更多公开信息。
6.17 内核现在进入稳定阶段,最终发布日期最有可能是在 9 月 28 日。
全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。
欢迎分享、转载及基于现有协议再创作~
长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

1268

被折叠的 条评论
为什么被折叠?



