Linus Torvalds 近日发布了 Linux 内核 6.14-rc3 版本,这是即将发布的 Linux 6.14 稳定版的最新候选版本。KVM(基于内核的虚拟机)维护者 Paolo Bonzini 也提交了一系列针对该版本的修复补丁,并已被 Linus Torvalds 合并。这些更新不仅修复了包括 ARM 和 x86 在内的多个架构的关键问题,还提升了 KVM 的功能和稳定性。
此外,本次发布还引入了一项重要新特性——Faux Bus,旨在简化设备驱动的开发,并包含了一系列关键修复。
Faux Bus:简化设备驱动开发的新框架
Faux Bus 是一个轻量级框架,专为不需要完整平台设备驱动复杂性的简单设备和驱动设计。它提供了一个极简的 API,仅包含两个函数:一个用于创建设备,另一个用于移除设备。
该框架特别适用于小型或“虚拟”设备,能够简化其生命周期管理,同时保持代码的简洁性。Faux Bus 还支持 C 和 Rust 语言绑定,进一步提高了开发者的采用率。
KVM 更新亮点解读
ARM 架构更新
- 向量寄存器处理优化:对浮点运算(FP)、单指令多数据流(SIMD)和可扩展向量扩展(SVE)管理进行了全面改进,修复了多个影响实际部署的 Bug。
- 初始化竞争条件修复:解决了虚拟 CPU(vCPU)与虚拟通用中断控制器(vGIC)初始化之间的竞争条件问题。
- 非 VHE 模式下计时器仿真改进:调整了非 VHE(虚拟化主机扩展)模式下计时器仿真时内核虚拟地址(VA)的使用。
- Protected KVM(pKVM)增强:包括更好的错误处理和内存对齐修复。
x86 架构更新
- AMD 安全嵌套分页(SNP)支持修复:确保在 KVM 模块内置时正确初始化平台安全处理器(PSP)模块。
- Hyper-V 相关改进:当本地高级可编程中断控制器(APIC)未被 KVM 仿真时,拒绝不受支持的 SEND_IPI 超调用。
- Bug 修复:解决了 Guest 转换期间 DR6 寄存器值为 stale 的问题,并确保对二级 Guest 的嵌套页表进行正确标记。
通用改进
- 代码优化:进行了多项架构清理,包括更好的错误处理和代码路径简化。
- 自测试扩展:KVM 自测试覆盖了更多场景,如 Hyper-V CPUID 功能和嵌套虚拟化边缘情况。
本次补丁系列涉及 30 个文件的更改,新增 420 行代码,删除了 427 行代码。这些更新在 Bug 修复、性能优化和代码简化之间取得了平衡。
开发者视角
Bonzini 指出,由于包含大量 ARM 更新,本次提交相对较大,但删除的代码比新增的更多,这体现了对 KVM 代码库持续进行的精简工作。Mark Rutland 在 ARM 向量处理方面的贡献尤为突出,其复杂性和对稳定性的影响得到了特别认可。
随着 Linux 内核 6.14 进入候选发布阶段,进一步的测试将有助于优化这些更新,直至最终版本发布。开发者被鼓励在多样化环境中测试这些更改,并报告任何问题。
此次 KVM 更新再次凸显了 Linux 社区在维护跨架构稳健虚拟化支持方面的协作重要性。
参考来源:
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)