【发布时间】:2017-04-14 05:53:52
【问题描述】:
我在 Intel 平台上使用 KVM-QEMU。 我想知道 PMC/PMU 是如何在 KVM 中虚拟化的?
我对vPMC的理解如下。
由于 PMU 是共享物理资源,因此管理程序应在 VMExit/VMEnter 期间上下文保存/恢复 PMC 配置和计数器。
但在我的测试中,我感到困惑。
(In my host Linux, the MSR of IA32_PERF_FIXed_CTRL is set to 0xb0)
首先,在启动的虚拟机中,
我'wrmsr IA32_PERF_FIXed_CTRL 0x0b',在VM中启用FIXed_CTR0。
然后在VMExit记录了IA32_PERF_FIXed_CTRL的MSR,发现FIXed_CTR0没有开启。
我认为这是因为当VMExit发生时,它已经在主机上下文中,所以IA32_PERF_FIXed_CTRL的MSR是主机之一,而不是主机。
但问题是,VM 的 MSR 保存在主机中的哪个位置,以及在 VMEnter 期间何时何地将 VM 的 MSR 恢复到 CPU ???
希望我的问题很清楚。
谢谢,
【问题讨论】:
标签: virtual-machine kvm