Linux 新补丁大幅提升英特尔嵌套虚拟机内存性能,最高提速约 2353 倍

Linux 新补丁大幅提升英特尔嵌套虚拟机内存性能,最高提速约 2353 倍
2025年11月23日 20:00 IT之家

IT之家 11 月 23 日消息,据 Phoronix 今日报道,亚马逊 AWS 工程师周五为 Linux 内核提交了一组针对 KVM 的 VMX 代码更新,旨在改善嵌套虚拟机场景中未管理来宾内存的处理方式。

该补丁不仅解决了正确性问题,在合成基准测试中还带来了“数量级”级别的性能提升。IT之家注意到,该补丁重点改进 KVM 在运行 L1 与 L2 嵌套虚拟机时对来宾特定页面的处理方式。当前实现依赖 kvm_vcpu_map / unmap,在性能和有效性方面都有明显限制。

根据 Griffoul 的说明,问题涉及两类关键页面:由 L0(KVM)直接访问的 L1 专用页面(如 MSR bitmap、eVMCS 页面),以及通过 vmcs02 传递给 L2 的页面(如 APIC access 页面、virtual APIC、posted interrupt descriptor)。现有流程缺乏对映射失效的妥善处理,例如 eVMCS 页面在 memslot 更新时可能失效,而 APIC 相关页面在宿主迁移后也缺乏 mmu_notifier 回调通知,从而导致错误行为。

同时,对于未管理的来宾内存(如通过 mem= 参数或 guest_memfd 提供且未被内核直接映射的内存),每次 L2 进入 / 退出都会触发昂贵的 memremap / memunmap 调用,严重拖累嵌套虚拟化性能。

此次补丁将旧的 kvm_host_map 替换为 gfn_to_pfn_cache 机制。pfncache 能保持映射持久有效,只要页面 GPA 未变化即可避免重复的 remap / unmap 开销,并通过 mmu_notifier 回调和 memslot 版本检查提供正确的失效处理,确保在 memslot 更新或页面迁移时及时调整映射。

在 AWS EC2 Nitro 实例上进行的合成微基准测试显示,本次改动带来了显著的性能提升:内存 map 性能约提升 17 倍,unmap chunked 操作约提升 2014 倍,unmap 操作最高提升约 2353 倍。

新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片