xen-devel
[Xen-devel] [PATCH] Fix OOS typecounting [was: Test report for Xen-3.3.0
Hello,
Keir Fraser wrote:
We still need to decide whether to fix the second issue or disable OOS.
The attached patch should fix this issue. It was an all-my-fault
breakage of set_l1e atomicity.
We're not decided on that just yet. If it reproed more reliably for us then
I'd be more optimistic about fixing it. Perhaps I will switch to 32pae as so
far I've been running 32e host.
A very easy way to reproduce this bug is to set SHADOW_OOS_FIXUPS to 1
in xen/include/asm-x86/mm.h. This will reproduce very quickly the
typecount corruption.
Gianluca
diff -r d3947223dfae xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c Thu Aug 14 13:46:48 2008 +0100
+++ b/xen/arch/x86/mm/shadow/multi.c Thu Aug 14 10:31:12 2008 -0400
@@ -1415,6 +1415,15 @@ static int shadow_set_l1e(struct vcpu *v
mfn_t new_gmfn = shadow_l1e_get_mfn(new_sl1e);
#endif
ASSERT(sl1e != NULL);
+
+#if SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC
+ if ( mfn_valid(new_gmfn) && mfn_oos_may_write(new_gmfn)
+ && ((shadow_l1e_get_flags(new_sl1e) & (_PAGE_RW|_PAGE_PRESENT))
+ == (_PAGE_RW|_PAGE_PRESENT)) )
+ {
+ oos_fixup_add(v, new_gmfn, sl1mfn, pgentry_ptr_to_slot(sl1e));
+ }
+#endif
old_sl1e = *sl1e;
@@ -1434,14 +1443,6 @@ static int shadow_set_l1e(struct vcpu *v
else
{
shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
-#if SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC
- if ( mfn_valid(new_gmfn) && mfn_oos_may_write(new_gmfn)
- && (shadow_l1e_get_flags(new_sl1e) & _PAGE_RW) )
- {
- oos_fixup_add(v, new_gmfn, sl1mfn,
pgentry_ptr_to_slot(sl1e));
- }
-#endif
-
}
}
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- RE: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), (continued)
- RE: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Xu, Jiajun
- Re: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Keir Fraser
- Re: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Keir Fraser
- RE: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Xu, Jiajun
- Re: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Keir Fraser
- Re: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Keir Fraser
- RE: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Xu, Jiajun
- Re: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Keir Fraser
- Re: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Keir Fraser
- RE: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Xu, Jiajun
- [Xen-devel] [PATCH] Fix OOS typecounting [was: Test report for Xen-3.3.0-rc4 (#18314)],
Gianluca Guida <=
- Re: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Keir Fraser
- RE: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Xu, Jiajun
- RE: [Xen-devel] Test report for Xen-3.3.0-rc4 (#18314), Xu, Jiajun
|
|
|