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] [HVM] Speed up bulk p2m operations such a

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [HVM] Speed up bulk p2m operations such as domain creation
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 12 Mar 2007 10:30:11 -0700
Delivery-date: Mon, 12 Mar 2007 10:29:55 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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 Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
# Date 1173692674 0
# Node ID 3be7f638cba03c3195f6327f9f8d9265a4382829
# Parent  8a01644306ee024eb49a195a50662d04021aefa1
[HVM] Speed up bulk p2m operations such as domain creation
by not flushing the shadows more often than is needed.
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
---
 xen/arch/x86/mm/shadow/common.c |    6 +++++-
 xen/arch/x86/mm/shadow/multi.c  |    2 ++
 xen/include/asm-x86/domain.h    |    3 +++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff -r 8a01644306ee -r 3be7f638cba0 xen/arch/x86/mm/shadow/common.c
--- a/xen/arch/x86/mm/shadow/common.c   Sun Mar 11 22:42:22 2007 +0000
+++ b/xen/arch/x86/mm/shadow/common.c   Mon Mar 12 09:44:34 2007 +0000
@@ -2813,7 +2813,11 @@ shadow_write_p2m_entry(struct vcpu *v, u
        This is pretty heavy handed, but this is a rare operation
        (it might happen a dozen times during boot and then never
        again), so it doesn't matter too much. */
-    shadow_blow_tables(d);
+    if ( d->arch.paging.shadow.has_fast_mmio_entries )
+    {
+        shadow_blow_tables(d);
+        d->arch.paging.shadow.has_fast_mmio_entries = 0;
+    }
 #endif
 
     shadow_unlock(d);
diff -r 8a01644306ee -r 3be7f638cba0 xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c    Sun Mar 11 22:42:22 2007 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c    Mon Mar 12 09:44:34 2007 +0000
@@ -660,6 +660,8 @@ _sh_propagate(struct vcpu *v,
     {
         /* Guest l1e maps MMIO space */
         *sp = sh_l1e_mmio(guest_l1e_get_gfn(*gp), gflags);
+        if ( !d->arch.paging.shadow.has_fast_mmio_entries )
+            d->arch.paging.shadow.has_fast_mmio_entries = 1;
         goto done;
     }
 
diff -r 8a01644306ee -r 3be7f638cba0 xen/include/asm-x86/domain.h
--- a/xen/include/asm-x86/domain.h      Sun Mar 11 22:42:22 2007 +0000
+++ b/xen/include/asm-x86/domain.h      Mon Mar 12 09:44:34 2007 +0000
@@ -78,6 +78,9 @@ struct shadow_domain {
     /* Shadow hashtable */
     struct shadow_page_info **hash_table;
     int hash_walking;  /* Some function is walking the hash table */
+
+    /* Fast MMIO path heuristic */
+    int has_fast_mmio_entries;
 
     /* Shadow log-dirty bitmap */
     unsigned long *dirty_bitmap;

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [HVM] Speed up bulk p2m operations such as domain creation, Xen patchbot-unstable <=