|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-4.0-testing] [shadow] Disable higher level pagetabl
# HG changeset patch
# User Gianluca Guida <gianluca.guida@xxxxxxxxxx>
# Date 1321461605 0
# Node ID c16b0a997a05e32b38fb33a70d59523375186f9c
# Parent cdff7052bad8e0ee5fce18c9db54386b517c7d96
[shadow] Disable higher level pagetables early unshadow only when the "process
dying" hypercall is used.
This patch fixes a performance problem in fully virtualized guests.
Signed-off-by: Gianluca Guida <gianluca.guida@xxxxxxxxxx>
Tested-by: Jan Beulich <jbeulich@xxxxxxxx>
Committed-by: Keir Fraser <keir@xxxxxxx>
xen-unstable changeset: 24148:3ecc8fef4281
xen-unstable date: Wed Nov 16 15:19:33 2011 +0000
---
diff -r cdff7052bad8 -r c16b0a997a05 xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c Sat Nov 12 16:15:19 2011 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c Wed Nov 16 16:40:05 2011 +0000
@@ -2710,8 +2710,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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-4.0-testing] [shadow] Disable higher level pagetables early unshadow only when the "process dying" hypercall is used.,
Xen patchbot-4 . 0-testing <=
|
|
|
|
|