Re: [PATCH RFC v2 3/5] KVM: nVMX: add enlightened VMCS state

From: Vitaly Kuznetsov
Date: Tue May 15 2018 - 07:11:23 EST


Paolo Bonzini <pbonzini@xxxxxxxxxx> writes:

> On 11/05/2018 15:37, Vitaly Kuznetsov wrote:
>> - if (enable_shadow_vmcs)
>> - to_vmx(vcpu)->nested.sync_shadow_vmcs = true;
>> +
>> + if (vmx->nested.hv_evmcs)
>> + vmx->nested.sync_enlightened_vmcs = true;
>> + else if (enable_shadow_vmcs)
>> + vmx->nested.sync_shadow_vmcs = true;
>> }
>
> These four lines are a bit repeated. Perhaps change them to
>
> if (enable_shadow_vmcs || vmx->nested.hv_evmcs)
> vmx->nested.need_vmcs12_sync = true;
>
> and elsewhere
>
> if (vmx->nested.need_vmcs12_sync) {
> if (vmx->nested.hv_evmcs) {
> copy_vmcs12_to_enlightened(vmx);
> /* All fields are clean */
> vmx->nested.hv_evmcs->hv_clean_fields |=
> HV_VMX_ENLIGHTENED_CLEAN_FIELD_ALL;
> vmx->nested.sync_enlightened_vmcs = false;
> } else {
> copy_vmcs12_to_shadow(vmx);
> }
> vmx->nested.need_vmcs12_sync = false;
> }
>
> ?

True, we always know which VMCS we currently use so we can use a single
flag. Will do, thanks!

--
Vitaly