Re: Question about guest MSR loading/saving (Intel)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/02/2010 03:57 AM, Kurt Kiefer wrote:
Hi all,

This is a vague/general question. For some background: I have a reason (control of IA32_PERF_GLOBAL_CTRL) for loading/saving MSRs on VM-entry/exit. To get this to work correctly, I made changes to use the conventional VMX MSR load areas of the VMCS for this particular MSR. Works great.

Is there a particular reason why MSRs are currently loaded/saved through KVM's unconventional facilities (vmx.c:save_msrs(), vmx.c:load_msrs()), rather than through VM entry/exit MSR load regions in the VMCS? I see that only long mode guests on x86_64 are effected by this.

Any insight could be useful. Do you think MSR loading via VMCS would be faster? Are there downsides to doing it one way or the other?

kvm doesn't switch msrs on every entry/exit. For example, the syscall msrs are only used by the syscall/sysret instructions, so we only switch them before returning to userspace, which happens much less frequently than vmexits.

The PMU is used by the processor at all times, so it makes perfect sense to use the vmx autoload/autosave regions for that.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux