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,

questionAnswers(1)

yourAnswerToTheQuestion