произошло, когда VMExit на хост. Чтобы быть более конкретным, я хочу выяснить, как perf в хосте может посчитать «выполненную инструкцию» в гостевой системе. (Я добавлю printk, чтобы попытаться выяснить магию). Я голосовал за ваши ответы.

ользуюKVM-QEMU на платформе Intel. И мне интересно, как этоPMC / ЦУП будучи виртуализированным вKVM?

Мое понимание vPMC заключается в следующем.

Поскольку PMU является общим физическим ресурсом, гипервизор должен сохранять / восстанавливать контекстные конфигурации и счетчики PMC во время VMExit / VMEnter.

Но в моем тестировании я запутался.

 (In my host Linux, the MSR of IA32_PERF_FIXed_CTRL is set to 0xb0)

Прежде всего, в запущенной ВМ,

I 'wrmsr IA32_PERF_FIXed_CTRL 0x0b', включитьFIXed_CTR0 в вм. Затем я зарегистрировал MSR для IA32_PERF_FIXed_CTRL на VMExit и обнаружил, что FIXed_CTR0 не включен.

Я думаю, это потому, что когда происходит VMExit, он уже находится в контексте хоста, поэтому MSR для IA32_PERF_FIXed_CTRL - это хост, а не хост.

Но вопрос в том, где находится MSR для виртуальной машины, сохраняемой в хосте, и когда и где MSR виртуальной машины восстанавливается в CPU во время VMEnter ???

Надеюсь, мой вопрос понятен.

Спасибо,

Ответы на вопрос(1)

Ваш ответ на вопрос