WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] nestedsvm: reduce TLB flushes

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] nestedsvm: reduce TLB flushes
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Fri, 20 May 2011 16:00:15 +0100
Delivery-date: Fri, 20 May 2011 08:02:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1305878874 -3600
# Node ID ac3ac8ebbd1fa66c6dcb0ddab2e5dcd528985233
# Parent  4664f19944d76fcb95695f92abbef79f01750c80
nestedsvm: reduce TLB flushes

Reduce TLB flushes:
1. When we update the cr3 during VMRUN/VMEXIT emulation
    we toggle between n1asid and n2asid forth and back
    => no TLB flush needed
2. Only flush n1asid or n2asid depending on vcpu guest mode
    and not both unconditionally.

Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxx>
---


diff -r 4664f19944d7 -r ac3ac8ebbd1f xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c        Fri May 20 09:06:58 2011 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c        Fri May 20 09:07:54 2011 +0100
@@ -454,7 +454,7 @@
         if ( !nestedhvm_enabled(v->domain) )
             hvm_asid_flush_vcpu(v);
         else if ( nestedhvm_vmswitch_in_progress(v) )
-            ; /* We toggle between n1asid/n2asid -> no flush required. */
+            ; /* CR3 switches during VMRUN/VMEXIT do not flush the TLB. */
         else
             hvm_asid_flush_vcpu_asid(
                 nestedhvm_vcpu_in_guestmode(v)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>