|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] x86: Reduce logging about get_page_type()
# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1192616273 -3600
# Node ID d994e6d3136de94f50aeb86c4a060ee06ecfbf6d
# Parent 76bf1fcaf01d2d344e4c4c4a127bf20fece77d4a
x86: Reduce logging about get_page_type() failures.
We shouldn't log if the cause could be a recursive-mapping attempt --
we expect a get_page_type() failure in that case.
Based on a patch maintained for NetBSD.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
xen/arch/x86/mm.c | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
diff -r 76bf1fcaf01d -r d994e6d3136d xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c Wed Oct 17 11:12:32 2007 +0100
+++ b/xen/arch/x86/mm.c Wed Oct 17 11:17:53 2007 +0100
@@ -1771,13 +1771,20 @@ int get_page_type(struct page_info *page
}
else if ( unlikely((x & (PGT_type_mask|PGT_pae_xen_l2)) != type) )
{
- if ( ((x & PGT_type_mask) != PGT_l2_page_table) ||
- (type != PGT_l1_page_table) )
- MEM_LOG("Bad type (saw %" PRtype_info
- " != exp %" PRtype_info ") "
- "for mfn %lx (pfn %lx)",
- x, type, page_to_mfn(page),
- get_gpfn_from_mfn(page_to_mfn(page)));
+ /* Don't log failure if it could be a recursive-mapping attempt. */
+ if ( ((x & PGT_type_mask) == PGT_l2_page_table) &&
+ (type == PGT_l1_page_table) )
+ return 0;
+ if ( ((x & PGT_type_mask) == PGT_l3_page_table) &&
+ (type == PGT_l2_page_table) )
+ return 0;
+ if ( ((x & PGT_type_mask) == PGT_l4_page_table) &&
+ (type == PGT_l3_page_table) )
+ return 0;
+ MEM_LOG("Bad type (saw %" PRtype_info " != exp %" PRtype_info ") "
+ "for mfn %lx (pfn %lx)",
+ x, type, page_to_mfn(page),
+ get_gpfn_from_mfn(page_to_mfn(page)));
return 0;
}
else if ( unlikely(!(x & PGT_validated)) )
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] x86: Reduce logging about get_page_type() failures.,
Xen patchbot-unstable <=
|
|
|
|
|