Re: [PATCH v2 0/4] KVM: VMX: enable LBR virtualization

2015-11-12 Thread Jian Zhou



On 2015/11/11 23:23, Paolo Bonzini wrote:



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.


  Yes, that is a good question. I plan to write a kernel module in the
  guest to read/write the MSR_IA32_DEBUGCTLMSR and MSRs of LBR
  stack with host CPU model e.g. SandyBridge while using guest CPU
  model e.g. core2duo for the guest. (The address of MSRs recording
  last branch information between SandyBridge and core2duo is different)


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.


  Okay, will fix them in v3.

  Thanks,
  Jian


Paolo

.



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


Re: [PATCH v2 0/4] KVM: VMX: enable LBR virtualization

2015-11-11 Thread Paolo Bonzini


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
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/4] KVM: VMX: enable LBR virtualization

2015-11-09 Thread Jian Zhou

On 2015/11/9 17:06, Paolo Bonzini wrote:



On 09/11/2015 02:33, Jian Zhou wrote:

Hi Paolo,

May I ask that any suggestion about the version 2 of VMX LBRV?
This version is updated following your advices in version 1.
BTW the kvm-unit-test for this feature has sent too, and I
have tested the CPUs emulated by QEMU.


Hi,

since these patches will not be part of Linux 4.4, I will review them
after the end of the merge window (or at least, after I've finished
sending material for 4.4).


  Thanks for your consideration.

  Jian



Paolo

.



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


Re: [PATCH v2 0/4] KVM: VMX: enable LBR virtualization

2015-11-09 Thread Paolo Bonzini


On 09/11/2015 02:33, Jian Zhou wrote:
> Hi Paolo,
> 
> May I ask that any suggestion about the version 2 of VMX LBRV?
> This version is updated following your advices in version 1.
> BTW the kvm-unit-test for this feature has sent too, and I
> have tested the CPUs emulated by QEMU.

Hi,

since these patches will not be part of Linux 4.4, I will review them
after the end of the merge window (or at least, after I've finished
sending material for 4.4).

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


Re: [PATCH v2 0/4] KVM: VMX: enable LBR virtualization

2015-11-08 Thread Jian Zhou

Hi Paolo,

May I ask that any suggestion about the version 2 of VMX LBRV?
This version is updated following your advices in version 1.
BTW the kvm-unit-test for this feature has sent too, and I
have tested the CPUs emulated by QEMU.

Thanks,
Jian

On 2015/10/23 17: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(-)

--
1.7.12.4



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