11 月 23 日消息,据 Phoronix 今日报道,亚马逊 AWS 工程师周五为 Linux 内核提交了一组针对 KVM 的 VMX 代码更新,显著优化 KVM 嵌套虚拟化(nVMX)中非托管客户机内存的处理性能。
AWS 工程师弗雷德・格里福尔(Fred Griffoul)在补丁说明中指出,当前实现存在两大缺陷:
-
缓存失效机制缺失:当内存槽(memslots)修改时,eVMCS 等内存页的缓存映射未及时失效;APIC 相关页面迁移后因缺少 mmu_notifier 回调通知导致映射错误
-
高频映射开销过大:对非托管内存(如通过 mem = 参数或 guest_memfd 传递的内存)每次 L2 虚拟机进出均触发 memremap / memunmap 操作,产生显著性能损耗
新方案采用 gfn_to_pfn_cache 替代 kvm_host_map 机制,通过持久化映射实现:
-
在页面 GPA 未变更时维持映射关系,消除每次 VM 进出周期的重映射开销
-
通过 mmu_notifier 回调和内存槽生成检查确保映射更新

在 AWS EC2 Nitro 实例的合成微基准测试中,本次改动带来了显著的性能提升:
-
内存映射操作提速约 17 倍
-
分块取消映射操作提速约 2014 倍
-
完整取消映射操作提速约 2353 倍
本站为个人博客,博客所发布的一切修改补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。本站为非盈利性站点,VIP功能仅仅作为用户喜欢本站捐赠打赏功能,本站不贩卖软件,所有内容不作为商业行为。



