Re: [PATCH] KVM: Discard unnecessary kvm_mmu_flush_tlb() in kvm_mmu_load()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 13 July 2009 20:23:58 Avi Kivity wrote:
> On 07/09/2009 12:00 PM, Sheng Yang wrote:
> > set_cr3() should already cover the TLB flushing.
> >
> > Signed-off-by: Sheng Yang<sheng@xxxxxxxxxxxxxxx>
> > ---
> >   arch/x86/kvm/mmu.c |    2 +-
> >   1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
> > index 231d880..501c11e 100644
> > --- a/arch/x86/kvm/mmu.c
> > +++ b/arch/x86/kvm/mmu.c
> > @@ -2349,8 +2349,8 @@ int kvm_mmu_load(struct kvm_vcpu *vcpu)
> >   	spin_unlock(&vcpu->kvm->mmu_lock);
> >   	if (r)
> >   		goto out;
> > +	/* set_cr3() should ensure TLB has been flushed */
> >   	kvm_x86_ops->set_cr3(vcpu, vcpu->arch.mmu.root_hpa);
> > -	kvm_mmu_flush_tlb(vcpu);
> >   out:
> >   	return r;
> >   }
>
> Maybe we should drop the flushes in vmx/svm instead?

That's what I unsure about... mmu_load() with flushes sounds reasonable, 
set_cr3() with flushes sounds a little more reasonable to me because I think 
set_cr3() may shouldn't depends on caller to flush, which seems more direct.

-- 
regards
Yang, Sheng

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux