Menu

目录

虚拟化

Qemu

openEuler 1.0 中配套 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,默认使用 ACPI 热插拔
  • 支持 SMMUv3 模拟(soft-iommu)
  • virt 类型主板开始支持 256CPUs
  • 将 ECMA Region 扩大到 256M,支持更多的 PCI 设备
  • Virt4.0 guest machine type 支持超过 1TB RAM

性能优化

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

KVM

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

虚拟机动态IPA

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

Stage2 1G大页支持

通过修改 Stage2 缺页异常处理逻辑,支持 Stage2 1G 大页。

Perf性能统计支持ARM虚拟化

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

iscsi kworker自适应IO性能提升

iscsi 默认创建的 order workqueue 调度范围是全 CPU,当其与对应网卡中断不在相同的 numa node 时会导致性能下降,通过新增 flag 控制其创建 workqueue 在指定对应的 NUMA node 运行,通过跟随对应的网卡中断保持同NUMA node,提升 IPSAN 访问 IO 性能。

IRQfd路径注入中断优化

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

Open vSwitch

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