[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [PATCH] xencomm: fix dirty page leak



This patch fixes a dirty page leak for live migration.
The common part of this fix is already applied to upstream.
  http://xenbits.xensource.com/xen-unstable.hg?rev/146f214a0e63

Thanks,
Kouya

Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>

diff -r feee6422144f xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c    Tue Apr 01 11:29:03 2008 -0600
+++ b/xen/arch/ia64/xen/mm.c    Wed Apr 09 15:29:15 2008 +0900
@@ -2903,6 +2903,20 @@ int is_iomem_page(unsigned long mfn)
     return (!mfn_valid(mfn) || (page_get_owner(mfn_to_page(mfn)) == dom_io));
 }
 
+void xencomm_mark_dirty(unsigned long addr, unsigned int len)
+{
+    struct domain *d = current->domain;
+    unsigned long gpfn;
+    unsigned long end_addr = addr + len;
+
+    if (shadow_mode_enabled(d)) {
+        for (addr &= PAGE_MASK; addr < end_addr; addr += PAGE_SIZE) {
+            gpfn = get_gpfn_from_mfn(virt_to_mfn(addr));
+            shadow_mark_page_dirty(d, gpfn);
+        }
+    }
+}
+
 /*
  * Local variables:
  * mode: C
diff -r feee6422144f xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h     Tue Apr 01 11:29:03 2008 -0600
+++ b/xen/include/asm-ia64/config.h     Wed Apr 09 15:29:15 2008 +0900
@@ -291,4 +291,6 @@ struct screen_info { };
 /* Define CONFIG_PRIVIFY to support privified OS (deprecated).  */
 #undef CONFIG_PRIVIFY
 
+#define CONFIG_XENCOMM_MARK_DIRTY 1
+
 #endif /* _IA64_CONFIG_H_ */
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.