xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] [shadow] Disable higher level pagetables early unshadow only when the "process dying" hypercall is used.
@ 2011-11-16 13:44 Gianluca Guida
  2011-12-14 15:58 ` George Dunlap
  0 siblings, 1 reply; 3+ messages in thread
From: Gianluca Guida @ 2011-11-16 13:44 UTC (permalink / raw)
  To: xen-devel, Keir Fraser; +Cc: Tim Deegan, Jan Beulich, Gianluca Guida

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@citrix.com>
Tested-by: Jan Beulich <jbeulich@suse.com>

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 */ );

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-12-14 16:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-16 13:44 [PATCH] [shadow] Disable higher level pagetables early unshadow only when the "process dying" hypercall is used Gianluca Guida
2011-12-14 15:58 ` George Dunlap
2011-12-14 16:19   ` Gianluca Guida

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).