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] Fix the performance issues of 2-level paging HVM guests

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Fix the performance issues of 2-level paging HVM guests on the PAE
From: Xen patchbot-3.0-testing <patchbot-3.0-testing@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 15 May 2006 11:32:17 +0000
Delivery-date: Mon, 15 May 2006 04:33:37 -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 kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 36f1129ae67da44ae7e9c0e32646afdade5973bb
# Parent  d69b243b1ca16c4512f8f51392d27eab3e01106a
Fix the performance issues of 2-level paging HVM guests on the PAE
Xen. With this, the performance will be basically same as 2-on-2.

Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>
xen-unstable changeset:   9991:d20a2a971103e4c9cd09d9284707437cd1c28b77
xen-unstable date:        Mon May 15 07:46:57 2006 +0100
---
 xen/arch/x86/shadow.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+)

diff -r d69b243b1ca1 -r 36f1129ae67d xen/arch/x86/shadow.c
--- a/xen/arch/x86/shadow.c     Fri May 12 22:35:11 2006 +0100
+++ b/xen/arch/x86/shadow.c     Mon May 15 07:49:08 2006 +0100
@@ -347,6 +347,13 @@ alloc_shadow_page(struct domain *d,
         d->arch.shadow_page_count++;
         if ( PGT_l4_page_table == PGT_root_page_table )
             pin = 1;
+#if CONFIG_PAGING_LEVELS == 3 & defined (GUEST_PGENTRY_32)
+        /*
+         * We use PGT_l4_shadow for 2-level paging guests on PAE
+         */
+        if ( d->arch.ops->guest_paging_levels == PAGING_L2 )
+            pin = 1;
+#endif
         break;
 
 #if CONFIG_PAGING_LEVELS >= 4
@@ -2379,6 +2386,17 @@ static void shadow_update_pagetables(str
     /*
      *  arch.shadow_table
      */
+#if CONFIG_PAGING_LEVELS == 3 & defined (GUEST_PGENTRY_32)
+    /*
+     * We use PGT_l4_shadow for 2-level paging guests on PAE
+     */
+    if ( d->arch.ops->guest_paging_levels == PAGING_L2 )
+    { 
+        if ( unlikely(!(smfn = __shadow_status(d, gpfn, PGT_l4_shadow))) )
+            smfn = shadow_l3_table(v, gpfn, gmfn);
+    } 
+    else
+#endif
     if ( unlikely(!(smfn = __shadow_status(d, gpfn, PGT_base_page_table))) ) 
     {
 #if CONFIG_PAGING_LEVELS == 2

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

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