LWN:6.16合并窗口的后半部分!

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

The second half of the 6.16 merge window

By Daroc Alden
June 9, 2025
Gemini flash translation
https://lwn.net/Articles/1023075/

6 月 8 日,Linux 6.16 合并窗口如期关闭,共包含了 12,899 个非合并提交(non-merge commits)。这一数字略高于 6.15 合并窗口,但完全符合预期。其中,有 7,353 个提交是在合并窗口上半段总结发布后合并的。更详细的统计数据可在LWN 内核源代码数据库中找到。

像往常一样,合并窗口的下半段包含了更多的错误修复而非新功能,但也有许多引人注目的功能成功合入:

架构相关(Architecture-specific)

  • RISC-V 上的 getrandom() 系统调用现在快得多了。它现在完全由 vDSO(virtual Dynamic Shared Object,虚拟动态共享对象)处理。

  • RISC-V 内核现在支持来自 SiFive 的新供应商扩展,以及 Zicbop、Zabha 和 Svinval 扩展。它们还包含了supervisor binary interface (SBI) firwmare features (FWFT) extension(监管者二进制接口固件特性扩展),这是 SBI 3.0(最新版本)所需的。

  • LoongArch 现在支持多达 2048 个 CPU,这是该架构能够处理的最大数量。该架构现在还具备了多核调度能力。

核心内核(Core kernel)

  • Unix 域套接字(Unix-domain sockets)可用于传输文件描述符(file descriptors);现在,程序可以自行选择禁用此功能,这对于防止拒绝服务攻击(denial-of-service attacks)可能很重要。

  • 用于内核跟踪(kernel tracing)的环形缓冲区(ring buffer)现在可以映射到用户空间(user space)的内存中。

  • 一个新的 API 将允许虚拟内存分配(virtual memory allocations)在 kexec handovers(kexec 切换) 后持久化。

  • 崩溃转储内核(Crash-dump kernels,即内核崩溃后运行以生成报告的特殊内核)现在可以重用现有的 LUKS 密钥。这使得崩溃转储可以保存到加密文件系统,而此前这是不可能的。

  • 内存控制组(memory control-group)代码执行的内核内存记账(kernel memory accounting)现在可以在非可屏蔽中断(non-maskable interrupt,NMI)上下文中执行。这很重要,因为 BPF 程序可以在 NMI 上下文中运行,并且可能需要在内核中分配内存,而这些内存需要被记账。

  • NUMA 加权交织(NUMA weighted interleaving)现在是自动调优的,在数据分布在多个 NUMA 节点(NUMA nodes)的系统中提供了更好的内存带宽利用率。

文件系统和块 I/O(Filesystems and block I/O)

  • OrangeFS 现在利用了新的挂载 API(new mount API),UFS 也是如此。

  • NFS 文件系统(NFS filesystems)的读写大小限制已提高到 4MB。“默认仍然是 1MB,但那些敢于冒险的管理员现在可以尝试使用支持更大 I/O 大小的 NFS 客户端。”

  • 在用户命名空间(user namespace)中拥有 CAP_SYS_ADMIN 功能(capability)的用户(且在根命名空间中无特权)现在可以通过 fanotify 监视文件系统和挂载。

  • ext2 文件系统已弃用对 DAX 的支持,因为它没有被广泛使用。ext2 文件系统本身也没有被广泛使用,但它作为文件系统的一个稳定参考实现。由于持久内存(persistent memory)的使用不像预期那样广泛,在参考实现中支持它就没有太大意义了。ext2 中的 DAX 支持预计将在 2025 年底完全移除。

  • FUSE 文件系统(FUSE filesystems)现在可以通过一次操作就使所有现有的缓存目录项(cached directory entries,dentries)失效。

  • overlayfs 文件系统现在支持用户命名空间中带有 dm-verity 的仅数据层(data-only layers)。这允许在无特权的命名空间中将受信任的元数据层与不受信任的数据层结合使用。

硬件支持(Hardware support)

  • *时钟(Clock)*:SpacemiT K1 SoCs、Sophgo SG2044 SoCs、T-HEAD TH1520 视频输出时钟、Qualcomm QCS8300 摄像头时钟、Allwinner H616 显示引擎时钟、Samsung ExynosAutov920 CPU 集群时钟控制器、Renesas RZ/V2N R9A09G056 SoCs、Sophgo CV1800 时钟以及 NXP S32G2/S32G3 时钟。

  • *GPIO 和引脚控制(GPIO and pin control)*:Mediatek MT6893 和 MT8196 SoCs、Renesas RZ/V2N SoCs、MediaTek Dimensity 1200 (MT6893) I2C、Sophgo SG2044 I2Ci、Renesas RZ/V2N R9A09G056 I2C、Rockchip RK3528 I2C 以及 NXP Freescale i.MX943 SoCs。

  • *图形(Graphics)*:Amlogic C3 图像信号处理器。

  • *硬件监控(Hardware monitoring)*:Dasharo 风扇和温度传感器、KEBA 风扇控制器和电池监控控制器、MAX77705 ICs、MAXIMUS VI HERO 和 ROG MAXIMUS Z90 Formula 主板、SQ52206 能量监视器、lt3074 线性稳压器、ADPM12160 DC/DC 电源模块以及 MPM82504 和 MPM3695 DC/DC 电源模块。

  • *工业 I/O(Industrial I/O)*:DFRobot SEN0322 氧气传感器。

  • *输入(Input)*:ByoWave Proteus 游戏控制器和 Apple Magic Mouse 2。

  • *媒体(Media)*:ST VD55G1 和 VD56G3 图像传感器以及 OmniVision OV02C10 图像传感器。

  • *杂项(Miscellaneous)*:FSL vf610-pit 周期中断定时器、SGX vz89te 集成传感器、Maxim max30208 温度传感器、TI lp8864 汽车显示器、MT6893 MM IOMMUs、Sophgo CV1800 和 SG2044 SoCs、Qualcomm sm8750 SoCs、Amlogic c3 和 s4 SoCs 以及 Renesas RZ/V2H(P) R9A09G057 DMA 控制器。

  • *网络(Networking)*:Renesas RZ/V2H(P) SoC、Broadcom asp-v3.0 以太网设备、AMD Renoir 以太网设备、RealTek MT9888 2.5G 以太网 PHY、Aeonsemi 10G C45 PHY、Qualcomm IPQ5424 qusb2 PHY、IPQ5018 uniphy-pcie 设备、Mediatek MT7988 xs-PHY 以及 Renesas RZ/V2H(P) usb2 PHY。

  • *音频(Sound)*:Fairphone FP5 声卡。

杂项(Miscellaneous)

  • 对 STA2x11 视频输入端口驱动程序的支持最终被移除。

  • 文档生成脚本 scripts/bpf_doc.py 现在可以生成 JSON 输出,包含 BPF 辅助函数(BPF helpers)和 BPF API(BPF API)的其他元素的信息。这一改变使得外部工具更容易保持其对 BPF 接口(BPF interface)的最新了解。

  • 将“default”写入 LED 设备的 sysfs 触发器(sysfs trigger),现在将把该设备的触发器重置为默认值。

  • Compute express link (CXL) 设备(计算表达链接设备)现在支持可靠性、可用性和可服务性(reliability, availability, and serviceability,RAS)扩展。最重要的是,这些扩展让 CXL 设备能够参与各种错误检测和纠正方案(error detection and correction schemes)。

  • 此版本包含许多对 perf 的改进,包括支持在 BPF 中计算系统调用统计信息(system call statistics)、更好地解密 Rust 符号、更精细的选项用于收集内存统计信息、一个用于故意引入锁争用(lock contention)的标志等等。

  • USB 音频设备现在支持音频卸载(audio offloading)。这使得,例如,即使系统其余部分处于睡眠状态,来自 USB 设备的音频也能持续流动。在拉取请求中,Greg Kroah-Hartman 表示:“我认为这创造了在最长时间(2 年多)内合并最多补丁系列(30+)的记录。”

网络(Networking)

  • 设备内存的内容现在可以通过 TCP 发送,从而实现从 GPU 到网线的零拷贝传输(zero-copy transmission)。

  • BPF 可以通过 struct_ops 程序来实现流量控制队列规程(traffic-control queueing disciplines,qdiscs)。

  • 鉴于长期弃用后仍没有任何用户,数据报拥塞控制协议(datagram congestion control protocol,DCCP)的支持正在被移除。DCCP 旨在防止 UDP 缺乏速率控制所可能导致的问题,但这些问题在很大程度上并未出现。它最初于 2005 年加入。希望这次移除能有助于清理当前与 DCCP 共享的 TCP 栈(TCP stack)部分。

  • 内核现在支持将通用安全服务应用编程接口(generic security services application programming interface,GSSAPI)用于AFS 文件系统,从而允许管理与 YFS 和 OpenAFS 服务器连接的加密。

  • OpenVPN 现在拥有一个虚拟驱动程序,用于将一些操作卸载到内核,这应该能提高其速度,特别是对于大容量传输。

安全相关(Security-related)

  • randstruct GCC 插件(通过随机化内核数据结构(kernel data structures)的布局来增加攻击者访问难度的插件)现在再次工作,并且有测试来确保其持续运行。ARM_SSP_PER_TASK GCC 插件(允许不同任务使用不同栈保护字(stack canaries)的插件)已被弃用,因为其功能已在上游 GCC 中提供。

  • 完整性测量架构(Integrity Measurement Architecture,IMA)的测量结果现在可以跨 kexec 调用进行传递。一个新的内核配置选项 IMA_KEXEC_EXTRA_MEMORY_KB 决定了在软重启(soft reboot)时为新的 IMA 测量预留多少内存。

  • 受信任安全管理器(trusted security manager,TSM;Intel 的信任域扩展(trust domain extensions),也称为 TDX 的一部分)进行的测量现在作为 sysfs 的一部分暴露出来。这使得用户空间(user space)有机会根据硬件的证明(attestations)做出决策。

  • SELinux 的性能开销已通过增加目录访问决策(directory-access decisions)的缓存和支持 genfscon 策略语句中的通配符(wildcards)而得到降低。

  • 内核的 EFI 代码已扩展,允许发出包含 UEFI SecureBoot 撤销信息(UEFI SecureBoot revocation information)的 .sbat 段;上游内核项目不会维护撤销信息,但各个发行版现在可以访问所需内容,从而能够发布自己的撤销数据库(revocation databases)。

  • 可加载模块(loadable modules)中的 .static_call_sites 段在模块初始化(module initialization)后现在变为只读。

虚拟化和容器(Virtualization and containers)

  • 64 位 Arm 现在在启用保护性 KVM(protected KVM)时,支持非保护性客户机上的透明巨页(transparent huge pages)。

  • 64 位 Arm 上的嵌套虚拟化(Nested virtualization)支持也已启用,尽管默认仍为禁用。

  • KVM 上的 x86 虚拟机主机(x86 virtual machine hosts)现在支持 TDX,从而能够在 Intel 处理器上使用机密客户机(confidential guests)。这一改变“已经酝酿了多年”,包含了大量的补丁。

  • RISC-V 上的 KVM 支持不再是实验性的。

内核内部变更(Internal kernel changes)

  • 电源管理子系统(power-management subsystem)获得了用于管理 CPU 频率(CPU frequency)、操作性能点(operating performance points,OPPs)和相关电源管理 API(power-management APIs)的 Rust 抽象。

  • 内核的最低支持 GCC 版本已更新到所有架构的 GCC 8;这次更新使得可以移除内核构建中使用的五个剩余 GCC 插件中的两个。相应的最低 binutils 版本为 2.30。

  • 一系列内存管理(memory-management)变更包括更多的 folio 转换、用于核心内存管理操作(core memory-management operations)的Rust 抽象、对内存整理(memory compaction)的更好支持,以及移除 VM_PAT

  • 当使用断言(assertions)和结果(results)时,Rust 测试错误消息现在与 KUnit 更紧密地集成。Rust 代码现在也可以使用 XArrays。

6.16 内核现在进入稳定期(stabilization period),最终版本预计在 7 月 27 日或 8 月 3 日发布。

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

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

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

内容概要:本文提出了一种基于非合作博弈理论的居民负荷分层调度模型,并结合双层鲸鱼优化算法(Two-level Whale Optimization Algorithm)进行高效求解,模型与算法均通过Matlab代码实现。研究针对电力系统中居民侧用电负荷的复杂调度问题,引入非合作博弈机制刻画各用户之间的利益竞争关系,实现负荷的分层优化分配;同时设计双层优化架构,上层优化资源配置,下层模拟用户自主决策行为,提升了模型的实用性与合理性。通过智能优化算法求解多层级、非凸非线性的博弈模型,有效提高了调度方案的收敛性与全局寻优能力,适用于现代智能电网中的需求侧管理与能源优化场景。; 适合人群:具备电力系统基础理论知识和Matlab编程能力,从事智能电网、能源优化调度、需求侧管理、博弈论应用等方向的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于居民区电力负荷的分层优化调度系统设计与仿真分析;②为非合作博弈在多主体能源系统建模中的应用提供方法论支持;③利用双层鲸鱼算法解决具有嵌套结构的复杂双层优化问题,提升求解效率与调度方案的可行性。; 阅读建议:建议读者结合提供的Matlab代码深入理解模型构建逻辑与算法实现流程,重点关注博弈模型的效用函数设计、纳什均衡求解思路以及双层优化结构的迭代机制,宜配合实际用电数据开展复现实验以验证模型有效性与鲁棒性。
内容概要:本文围绕基于自适应神经模糊推理系统(ANFIS)智能控制器的可再生能源微电网功率管理系统展开研究,结合Simulink仿真实现,深入探讨了微电网中功率的智能调控与经济机组组合调度问题。通过引入ANFIS控制器,有效应对风能、光伏等可再生能源出力的波动性与不确定性,提升系统运行的稳定性与电能质量。研究内容涵盖微电网多源协调控制策略、功率平衡管理、优化调度模型构建及仿真验证,实现了对分布式电源、储能系统和负荷的协同优化,兼顾经济性与可靠性目标,并通过仿真平台验证了所提方法的有效性与优越性。; 适合人群:具备电力系统、自动化或新能源相关专业背景,熟悉Matlab/Simulink仿真环境,从事微电网能量管理、智能控制、能源优化等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高比例可再生能源接入场景下的微电网能量管理系统研发与教学实践;②为实现微电网功率稳定控制与经济高效运行提供先进的智能控制解决方案;③支撑高水平学术论文复现、科研课题攻关及实际工程项目的仿真验证与方案优化。; 阅读建议:建议结合提供的Simulink模型与相关代码进行动手实践,重点关注ANFIS控制器的设计流程、规则库构建与参数调优方法,并通过与传统PID或MPC控制策略的对比实验,深入理解其在动态响应与鲁棒性方面的优势。同时可进一步拓展文中提出的优化调度逻辑,应用于多目标、多约束的复杂实际应用场景中。
内容概要:本文档聚焦于“直流电机双闭环控制Matlab仿真”,系统阐述了基于Matlab/Simulink平台实现直流电机双闭环控制系统(主要包括速度环与电流环)的设计与仿真全过程。通过构建直流电机的数学模型,结合PI控制器进行调控,实现对电机转速和电枢电流的高精度动态控制,验证控制策略的稳定性与响应性能。文档详细介绍了仿真模型的搭建流程、关键参数的整定方法、系统动态波形的分析手段以及仿真结果的有效性验证,体现了经典自动控制理论在实际电机系统中的工程应用,是电机控制与电力电子技术相结合的典型研究案例。; 适合人群:具备自动控制原理、电机与拖动基础、电力电子技术和Matlab/Simulink仿真能力的电气工程、自动化、机电一体化等专业的本科生、研究生及从事电机驱动系统研发的工程技术人员。; 使用场景及目标:①作为高校课程设计或实验教学材料,帮助学生深入理解双闭环调速系统的工作机理与工程实现;②服务于科研项目,为新型电机控制算法(如滑模、模糊PID等)的开发与性能对比提供基础仿真验证平台;③作为工业界产品前期设计的仿真工具,用于评估不同控制策略在动态响应、抗干扰能力和稳态精度方面的可行性。; 阅读建议:建议读者在学习过程中紧密结合自动控制理论知识,亲手在Simulink环境中搭建完整的双闭环仿真模型,通过反复调整PI控制器的比例与积分参数,观察并分析转速、电流的阶跃响应曲线,从而深刻理解反馈控制的本质、系统稳定性条件以及参数整定对动态性能的影响,进而掌握电机控制系统的设计精髓。
内容概要:本文研究了基于Benders分解与输电网运营商(TSO)和配电网运营商(DSO)协调机制的不确定环境下输配电网双层优化模型,旨在提升高比例可再生能源接入背景下电网系统的协调性与鲁棒性。模型上层以系统整体经济性为目标进行优化调度,下层采用Benders分解实现TSO与DSO之间的信息交互与协同决策,通过引入割平面迭代机制保障求解的收敛性与全局最优性。研究充分考虑新能源出力与负荷需求的不确定性,构建了具有强适应性的双层优化框架,并基于Matlab完成了模型的编程实现与仿真验证,有效解决了多主体、多层级、多不确定性因素耦合下的电力系统优化调度难题。; 适合人群:具备电力系统分析、运筹学与优化理论基础,熟悉Matlab编程环境,从事智能电网、能源互联网、分布式能源集成、电力市场等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究高渗透率可再生能源条件下输配电网协同优化调度策略;②掌握Benders分解在电力系统双层优化建模中的应用方法与实现技巧;③构建TSO-DSO多主体协调机制,实现跨层级电网资源的高效互动与决策解耦;④提升对不确定性建模、分解算法设计及大规模优化问题求解能力。; 阅读建议:建议读者结合Matlab代码逐模块剖析模型构建流程,重点理解Benders割的生成逻辑、主从问题的信息传递机制及收敛判据设定,推荐在标准IEEE测试系统上复现实验以深入掌握模型特性与算法性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值