|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/mm: fix domain-paging's interaction with log-dirty
# HG changeset patch
# User Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx>
# Date 1322152474 0
# Node ID e6100a0832cebe6a66005c2fa2c994a0784e8e93
# Parent ca92c4a8b31f2af73b18e4c7dae193d7ecb598b8
x86/mm: fix domain-paging's interaction with log-dirty
Allow pages typed log dirty to be paged out, and the proper type to
restored when paging pages back in.
Signed-off-by: Andres lagar-Cavilla <andres@xxxxxxxxxxxxxxxx>
Signed-off-by: Adin Scannell <adin@xxxxxxxxxxx>
Acked-by: Tim Deegan <tim@xxxxxxx>
Committed-by: Tim Deegan <tim@xxxxxxx>
---
diff -r ca92c4a8b31f -r e6100a0832ce xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c Thu Nov 24 15:50:08 2011 +0000
+++ b/xen/arch/x86/mm/p2m.c Thu Nov 24 16:34:34 2011 +0000
@@ -1061,7 +1061,9 @@
if ( mfn_valid(mfn) &&
(p2mt == p2m_ram_paging_in || p2mt == p2m_ram_paging_in_start) )
{
- set_p2m_entry(p2m, rsp.gfn, mfn, PAGE_ORDER_4K, p2m_ram_rw, a);
+ set_p2m_entry(p2m, rsp.gfn, mfn, PAGE_ORDER_4K,
+ paging_mode_log_dirty(d) ? p2m_ram_logdirty :
p2m_ram_rw,
+ a);
set_gpfn_from_mfn(mfn_x(mfn), rsp.gfn);
audit_p2m(p2m, 1);
}
diff -r ca92c4a8b31f -r e6100a0832ce xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h Thu Nov 24 15:50:08 2011 +0000
+++ b/xen/include/asm-x86/p2m.h Thu Nov 24 16:34:34 2011 +0000
@@ -150,7 +150,8 @@
#define P2M_MAGIC_TYPES (p2m_to_mask(p2m_populate_on_demand))
/* Pageable types */
-#define P2M_PAGEABLE_TYPES (p2m_to_mask(p2m_ram_rw))
+#define P2M_PAGEABLE_TYPES (p2m_to_mask(p2m_ram_rw) \
+ | p2m_to_mask(p2m_ram_logdirty) )
#define P2M_PAGING_TYPES (p2m_to_mask(p2m_ram_paging_out) \
| p2m_to_mask(p2m_ram_paged) \
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |