[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] xc: error: xc_machphys_mfn_list: 83 != 129 when suspending 32GB PV DomU
Hi, I have a 256GB host and run a 32GB 64-bit PV domain (SLES 11) on it. When I try and suspend the domain, xc barfs with: xc: error: xc_machphys_mfn_list: 83 != 129: Internal error xc: error: xc_get_m2p_mfns (0 = Success): Internal error xc: error: Failed to map live M2P table (0 = Success): Internal error At first, since dom0 is 32 bit, I suspected the compat layer. However the hypercall in xen/arch/x86/x86_64/compat/mm.c compat_arch_memory_op() seems to agree with the numbers: (XEN) compat_arch_memory_op returned 0 (nr_extents = 83, max_extents = 129) >From this I conclude that everything is working OK at the hypercall layer. However, looking at the code in compat_arch_memory_op() it appears that the code is failing due to some arcane limits of the compat subsystem. The following code to establish the variable 'limit' is causing the loop to exit early: limit = (unsigned long)(compat_machine_to_phys_mapping + min_t(unsigned long, max_page, MACH2PHYS_COMPAT_NR_ENTRIES(current->domain))); if ( limit > RDWR_COMPAT_MPT_VIRT_END ) limit = RDWR_COMPAT_MPT_VIRT_END; for ( i = 0, v = RDWR_COMPAT_MPT_VIRT_START, last_mfn = 0; (i != xmml.max_extents) && (v < limit); i++, v += 1 << L2_PAGETABLE_SHIFT ) { /* do stuff */ } xmml.nr_extents = i; Further debugging reveals the variables are set as such: (XEN) compat_machine_to_phys_mapping = 18446606377058041856 (XEN) max_page = 67272704 (XEN) MACH2PHYS_COMPAT_NR_ENTRIES(current->domain) = 43515904 (XEN) RDWR_COMPAT_MPT_VIRT_START = 18446606377058041856 (XEN) RDWR_COMPAT_MPT_VIRT_END = 18446606378131783680 (XEN) limit = 18446606377232105472, (1 << L2_PAGETABLE_SHIFT) = 2097152 Could it be that the compat mach-to-phys conversion table size of 1GB is too small? Or that there exists some other arbitrary limit on the size of domains that can be suspended [when using a 32bit dom0] ? Gianni _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |