On 16.01.2018 13:05, Vitaly Kuznetsov wrote: > Wanpeng Li <kernellwp@xxxxxxxxx> writes: > >> 2018-01-16 1:30 GMT+08:00 Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>: >>> Early RFC. I'll refer to this patchset in my DevConf/FOSDEM >>> presentations. >>> >>> When running nested KVM on Hyper-V it's possible to use so called >>> 'Enlightened VMCS' and do normal memory reads/writes instead of >>> doing VMWRITE/VMREAD instructions. Tests show that this speeds up >>> tight CPUID loop almost 3 times: >>> >>> Before: >>> ./cpuid_tight >>> 20459 >>> >>> After: >>> ./cpuid_tight >>> 7698 >> >> Maybe you can apply a similar idea to kvm nested on kvm. >> > > Yes we can. Basically, that would mean directly accessing 'struct > vmcs12' from L1 hypervisor. > Haven't looked into the details, but we have to watch out for other VCPUs trying to modify that vmcs12. Basically because other VCPUs could try to modify values in vmcs12 while we are currently building vmcs02. Nasty races could result in us copying stuff (probably unchecked) into vmcs02 and therefore running something that was not intended. If this is not possible with the current design, perfect :) -- Thanks, David / dhildenb