|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[XenPPC] xm save/restore tests
Jimi,
We made several tests on the save/restore with different guest domain
configuration. Here is the problems we meet in the tests:
1. Cannot get the pfn list on large domain (domain memory >= 1GB). The
xc_get_pfn_list will fail for large domain, because the xemcomm_create
only allocate 1 page for the address mapping table between two domains.
That restricts the pfn_list size transferred in one hcall to less than
2MB. And in current implementation, we can't transfer the pfn_list by
two hcalls. So to support the large domain save/restore, either the
getmemlist hcall should be modified to support partially pfn_list
transfer or the xencomm allocate more pages for the address mapping in
an hcall. What's you advice?
This is the kernel message we got from domain 0:
xencomm_init: could only translate 2093048 of 2129920 bytes
xencomm_init failure: -28
2. We tried to restore a domain with disk root file system. I used
Hao's disk image file for the testing. The restored domain will trap
into Data Access Exception(300). We found that's because the global
pointer "shared" was not NULL before gnttab_resume is called in kernel
resuming. The domain can be restored successfully when we clear the
value of shared to NULL in gnttab_suspend.
--
Yi Ge <kudva@xxxxxxxxxxxxxx>
diff -r b03ebb287fa9 drivers/xen/core/gnttab.c
--- a/drivers/xen/core/gnttab.c Fri Nov 03 17:58:22 2006 -0500
+++ b/drivers/xen/core/gnttab.c Thu Nov 09 15:40:35 2006 -0500
@@ -426,7 +426,9 @@ int gnttab_suspend(void)
int gnttab_suspend(void)
{
#ifdef CONFIG_PPC_XEN
- return arch_gnttab_suspend(shared);
+ int ret = arch_gnttab_suspend(shared);
+ shared = NULL;
+ return ret;
#else
#if !defined(__ia64__)
apply_to_page_range(&init_mm, (unsigned long)shared,
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [XenPPC] xm save/restore tests,
geyi <=
|
|
|
|
|