On Thu, 2020-08-20 at 12:01 +0200, Paolo Bonzini wrote: > On 20/08/20 11:13, Maxim Levitsky wrote: > > + u32 clean = nested_vmcb->control.clean; > > + > > + if (svm->nested.vmcb_gpa != vmcb_gpa) { > > + svm->nested.vmcb_gpa = vmcb_gpa; > > + clean = 0; > > + } > > You probably should set clean to 0 also if the guest doesn't have the > VMCBCLEAN feature (so, you first need an extra patch to add the > VMCBCLEAN feature to cpufeatures.h). It's probably best to cache the > guest vmcbclean in struct vcpu_svm, too. Right, I totally forgot about this one. One thing why I made this patch optional, is that I can instead drop it, and not 'read back' the saved area on vmexit, this will probably be faster that what this optimization does. What do you think? Is this patch worth it? (I submitted it because I already implemented this and wanted to hear opinion on this). Best regards, Maxim Levitsky > > Paolo >