虚拟化
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 的内核版本适配。