From: Christoph Egger Date: Wed, 13 Jun 2012 09:51:26 +0000 (+0200) Subject: SVM: fix performance decrease with asid assignment X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~8320 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0cdb73707d054a60d9ac8cc16fb72caea0a8d395;p=xen.git SVM: fix performance decrease with asid assignment Do not clear asid cleanbit unconditionally. This shaves off 100 cycles from the VMRUN instruction. Signed-off-by: Christoph Egger Committed-by: Jan Beulich --- diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c index 14e2abd919..3fde3631c4 100644 --- a/xen/arch/x86/hvm/svm/asid.c +++ b/xen/arch/x86/hvm/svm/asid.c @@ -56,7 +56,8 @@ void svm_asid_handle_vmrun(void) return; } - vmcb_set_guest_asid(vmcb, p_asid->asid); + if (vmcb_get_guest_asid(vmcb) != p_asid->asid) + vmcb_set_guest_asid(vmcb, p_asid->asid); vmcb->tlb_control = need_flush; }