On 23/10/2015 11:15, Jian Zhou wrote:
Changelog in v2:
(1) move the implementation into vmx.c
(2) migraton is supported
(3) add arrays in kvm_vcpu_arch struct to save/restore
LBR MSRs at vm exit/entry time.
(4) add a parameter of kvm_intel module to permanently
disable LBRV
(5) table of supported CPUs is reorgnized, LBRV
can be enabled or not according to the guest CPUID
Jian Zhou (4):
KVM: X86: Add arrays to save/restore LBR MSRs
KVM: X86: LBR MSRs of supported CPU types
KVM: X86: Migration is supported
KVM: VMX: details of LBR virtualization implementation
arch/x86/include/asm/kvm_host.h | 26 ++++-
arch/x86/include/asm/msr-index.h | 26 ++++-
arch/x86/kvm/vmx.c | 245 +++++++++++++++++++++++++++++++++++++++
arch/x86/kvm/x86.c | 88 ++++++++++++--
4 files changed, 366 insertions(+), 19 deletions(-)
Thanks, this looks better!
The reason why it took me so long to review it, is that I wanted to
understand what happens if you're running this on CPU model x but using
CPU model y for the guest. I still haven't grokked that fully, so I'll
apply your patches locally and play with them.
In the meanwhile, feel free to send v3 with: 1) the tweak I suggested to
patch 3; 2) the fix for the problem that the buildbot reported on patch 1.
Paolo
.