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-devel

[Xen-devel] [PATCH] [shadow] Disable higher level pagetables early unsha

To: xen-devel@xxxxxxxxxxxxxxxxxxx, Keir Fraser <keir@xxxxxxx>
Subject: [Xen-devel] [PATCH] [shadow] Disable higher level pagetables early unshadow only when the "process dying" hypercall is used.
From: Gianluca Guida <glguida@xxxxxxxxx>
Date: Wed, 16 Nov 2011 05:44:50 -0800
Cc: Tim Deegan <tim@xxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, Gianluca Guida <gianluca.guida@xxxxxxxxxx>
Delivery-date: Wed, 16 Nov 2011 05:46:34 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=2c9j/pqqVCFRyHhScU9eZgki2AOLV6vjDuAc1OHeacE=; b=v5PU5yS9e1c0i8vWEsCnVeVs/IN9i7w0Nk7rzNX8snchsXgrT/7u94Xou3MusgCoK/ FeBbbIYuJGw0y7Vk96j6lXmjthnPcNsbOnInWArYn7U9g2n4RTvnShMTgcXhJo04JarQ 6JAtFzBRGEDdZENYzSEW/8aUmjzAHObWCH61Y=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
This patch fixes a performance problem in fully virtualized guests.

Should be backported to xen-4.0 and xen-4.1. This patch applies (with
slightly different offsets) to all three versions.

Signed-off-by: Gianluca Guida <gianluca.guida@xxxxxxxxxx>
Tested-by: Jan Beulich <jbeulich@xxxxxxxx>

diff -r 068d3d55ce6e xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c    Tue Nov 01 19:03:38 2011 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c    Wed Nov 16 14:30:57 2011 -0800
@@ -2723,8 +2723,9 @@
            || ( !v->domain->arch.paging.shadow.pagetable_dying_op
                 &&
v->arch.paging.shadow.last_emulated_mfn_for_unshadow == mfn_x(gmfn) )
)
          && sh_mfn_is_a_page_table(gmfn)
-         && !(mfn_to_page(gmfn)->shadow_flags
-              & (SHF_L2_32|SHF_L2_PAE|SHF_L2H_PAE|SHF_L4_64)) )
+         && (!v->domain->arch.paging.shadow.pagetable_dying_op ||
+             !(mfn_to_page(gmfn)->shadow_flags
+               & (SHF_L2_32|SHF_L2_PAE|SHF_L2H_PAE|SHF_L4_64))) )
     {
         perfc_incr(shadow_early_unshadow);
         sh_remove_shadows(v, gmfn, 1, 0 /* Fast, can fail to unshadow */ );

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] [shadow] Disable higher level pagetables early unshadow only when the "process dying" hypercall is used., Gianluca Guida <=