Re: [PATCH v2 6/6] KVM: nVMX: optimize prepare_vmcs02{,_full} for Enlightened VMCS case

From: Vitaly Kuznetsov
Date: Wed Jul 25 2018 - 10:13:20 EST


Paolo Bonzini <pbonzini@xxxxxxxxxx> writes:

> On 25/07/2018 15:26, Vitaly Kuznetsov wrote:
>
>> The other place where we set dirty_vmcs12 is the newly introduced
>> vmx_set_nested_state() but I think I'm going to add support for eVMCS
>> there later and just return something like -ENOTSUPP for now. Too many
>> people work on nested simultaneously :-)
>
> Hmm, I think that means you have to put the clean fields in the
> vmx_nested struct. Then it's really easy in vmx_set_nested_state to
> clear all the clean bits. Touching memory in vmx_set_nested_state is...
> *puts on sunglasses* a touchy subject (see comment in kvm/queue's
> enter_vmx_non_root_mode).
>

Not only clean fields, in case we can't touch memory in
vmx_set_nested_state I guess we'll need to cache the whole eVMCS, just
like we save cached_shadow_vmcs12. Anyway, let's eat the elephant one
bite at a time :-)

--
Vitaly