Re: [PATCH v3 13/20] KVM: nVMX: initialize vmcs02 constant exactly once (per VMCS)

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

 



On Wed, Sep 26, 2018 at 9:23 AM, Sean Christopherson
<sean.j.christopherson@xxxxxxxxx> wrote:
> Add a dedicated flag to track if vmcs02 has been initialized, i.e.
> the constant state for vmcs02 has been written to the backing VMCS.
> The launched flag (in struct loaded_vmcs) gets cleared on logical
> CPU migration to mirror hardware behavior[1], i.e. using the launched
> flag to determine whether or not vmcs02 constant state needs to be
> initialized results in unnecessarily re-initializing the VMCS when
> migrating between logical CPUS.
>
> [1] The active VMCS needs to be VMCLEARed before it can be migrated
>     to a different logical CPU.  Hardware's VMCS cache is per-CPU
>     and is not coherent between CPUs.  VMCLEAR flushes the cache so
>     that any dirty data is written back to memory.  A side effect
>     of VMCLEAR is that it also clears the VMCS's internal launch
>     flag, which KVM must mirror because VMRESUME must be used to
>     run a previously launched VMCS.
>
> Suggested-by: Jim Mattson <jmattson@xxxxxxxxxx>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
Reviewed-by: Jim Mattson <jmattson@xxxxxxxxxx>



[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