虚拟化

Qemu

openEuler 1.0 Base 中配套 Qemu 为 4.0.0 版本,相比早期版本修复了诸多缺陷并进行了特性和设备支持能力的增强,重要更新如下:

特性增强

  • 热迁移 postcopy 支持 hugpages 和 hugetlbfs
  • 支持 GICv3 KVM 的热迁移
  • 热迁移 postcopy 支持限速,支持 migrate_pause,支持 migrate_recover
  • 虚拟机内呈现 CPU frequency(GuestOS 需要 4.19 以及更高版本内核)
  • 虚拟机内部呈现 CPU topology和cache信息

设备支持

  • PCI/PCIe:支持新的 pcie-root-port 设备,新的 virt 类型主板默认 disable 了 PCIe-to-PCI-bridge 上的 SHPC
  • 支持 SMMUv3 模拟(soft-iommu)
  • virt 类型主板开始支持 512 虚拟CPU (注意不支持单个虚拟机的CPU数量超过所在的物理机的CPU数量)
  • 将 PCIe ECAM Region 扩大到 256M,支持更多的 PCI 设备
  • virt4.0 guest machine type 支持超过 1TB RAM

性能优化

  • I/O 线程性能优化,提升多磁盘并发读写场景下的性能

KVM

基于 4.19 版本内核的KVM进行 bug 修复、社区新特性回合和特性增强,重点能力如下:

虚拟机动态IPA

openEuler 1.0 Base 通过修改 Stage2 页表的分级、布局,支持用户态配置动态的IPA位数,可以支持最多48位IPA

Perf性能统计支持ARM虚拟化

支持命令“perf kvm stat record/report”,在虚拟机或 vCPU 粒度统计 exit、trap 的类型、次数和时间

IRQfd路径注入中断优化

优化通过 IRQfd 路径注入的中断,降低 vhost-user、vhost-net、GICv3+ 直通设备(网卡、磁盘)等场景下 CPU 资源消耗。

Open vSwitch

openEuler 1.0 Base 中配套的 Open vSwitch 为开源社区的 2.11.1 版本,仅进行了 openEuler 的内核版本适配。