AMD 工程师周日晚上发布了一个补丁系列,通过基于内核的虚拟机 (KVM) 获得了对 AMD SVM 驱动程序的 x2APIC 虚拟化“x2AVIC”支持。
AMD 对主线内核的虚拟化支持的某些领域并没有像预期的那样准时。例如,具有去年 EPYC 7003 系列处理器的SEV-SNP仍然没有将其新功能代码纳入主线,但仍会不时地通过新修订进行审查。(至少 AMD 已经在 GitHub 上为感兴趣的客户提供了一个带有 SEV-SNP 正在进行的内核代码的树。)
另一个我认为已经被解决但现在才看到补丁的 AMD 虚拟化项目是针对 AMD x2APIC 虚拟化支持的。自 2018 年以来,针对 EPYC 7002 系列及更新版本的 Linux 已支持虚拟化范围之外的 AMD x2APIC 支持;本周的工作是关于 x2APIC 虚拟化,英特尔多年来一直在解决这个问题,包括他们的 Linux 支持(Intel VT-x with Sandy Bridge 最初在那里添加了 x2APIC 虚拟化)。周日晚上发出的是一组“征求意见”补丁,这些补丁实现了 AMD x2APIC 虚拟化支持。x2APIC 虚拟化支持允许 VM 拥有超过 255 个 CPU 线程,并允许比传统 APIC 虚拟化模式更好的性能。
是的,更多的 vCPU!
此代码为他们的 KVM 内核代码提供了 AMD x2APIC 虚拟化 (x2AVIC)。补丁确实继续进行,现在将线程数从 255 个 vCPU 提升到现在可能的 511 个 vCPU 限制。AMD EPYC 7003 系列处理器在两个插槽之间最多有 256 个线程(128 个内核),现有的 255 个 vCPU 限制并不是什么大问题,因为通常一些内核/线程会保留给主机操作系统进行管理。然而,使用 Zen 4 的 Genoa 现在每个插槽将有多达 96 个 CPU 内核(192 个线程),或者使用 Zen 4C “Bergamo” 每个插槽将有 128 个内核。
除了现在允许多达 511 个 vCPU 之外,AMD x2APIC 虚拟化支持在使用时应该会带来更好的效率。请参阅RFC 补丁系列,了解对 Linux 内核的暂定 AMD x2AVIC 支持。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun132278.html