# 虚拟化<a name="ZH-CN_TOPIC_0185681960"></a>

## Qemu<a name="zh-cn_topic_0185681960_section14349202621712"></a>

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<a name="zh-cn_topic_0185681960_section2663102117408"></a>

基于 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<a name="zh-cn_topic_0185681960_section562416012180"></a>

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

