On Mon, Sep 16, 2013 at 10:58:12AM +0200, Paolo Bonzini wrote:
> >>> vmx->__launched = vmx->loaded_vmcs->launched;
> >>> + if (is_guest_mode(vcpu) && !(vmx->nested.nested_vmx_exit))
> >>> + nested_adjust_preemption_timer(vcpu);
> >>
> >> Please leave the assignment to __launched last, since it's already
> >> initializing the asm below.
> >>
> >> I don't like the is_guest_mode check here... Maybe it's
> >> micro-optimizing, but I wonder if we already do too many checks in
> >> vmx_vcpu_run... For example, is_guest_mode could be changed (I think)
> >> to a check for "vmx->loaded_vmcs == &vmx->vmcs1".
> >>
> > Why this will be more efficient that HF_GUEST_MASK check?
>
> Because we have already loaded vmx->loaded_vmcs, so it's one memory
> access less.
>
But we will have to load vmx->vmcs1 instead :) Looks like very minor
optimization if at all. If we could avoid additional if() at all
somehow, may be mimicking vcpu->requests in vmx to get rid of most ifs
there.
--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html