como o KVM virtualiza o contador de desempenho (PMC)?
estou usandoKVM-QEMU na plataforma Intel. E eu estou querendo saber como é oPMC / PMU sendo virtualizado emKVM?
Meu entendimento do vPMC é o seguinte.
Como a PMU é um recurso físico compartilhado, o hipervisor deve contextualizar salvar / restaurar configurações e contadores do PMC durante o VMExit / VMEnter.
Mas nos meus testes, fiquei confuso.
(In my host Linux, the MSR of IA32_PERF_FIXed_CTRL is set to 0xb0)
Primeiro de tudo, em uma VM lançada,
I 'wrmsr IA32_PERF_FIXed_CTRL 0x0b
', para ativarFIXed_CTR0
na VM. Em seguida, registrei o MSR de IA32_PERF_FIXed_CTRL na VMExit e localizei FIXed_CTR0 não está ativado.
Eu acho que é porque quando o VMExit acontece, ele já está no contexto do host, então o MSR do IA32_PERF_FIXed_CTRL é o host, não o host.
Mas a questão é onde está o MSR da VM sendo salvo no host e quando e onde o MSR da VM está sendo restaurado na CPU durante o VMEnter ???
Espero que minha pergunta seja clara.
Obrigado,