WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

[XenPPC] xm restore: xc_get_pfn_list() returns bogus mfns

To: jimix@xxxxxxxxxxxxxx
Subject: [XenPPC] xm restore: xc_get_pfn_list() returns bogus mfns
From: poff <poff@xxxxxxxxxxxxxx>
Date: Sat, 14 Oct 2006 13:22:16 -0400
Cc: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sat, 14 Oct 2006 10:22:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
'restore' maps guest memory then reads the saved memory image from disk.
xc_get_pfn_list() provides mfns of guest memory, used for mapping the guest 
pages.

When using these mfns, the system crashes. Ki realized these mfns are too small.
Also when creating a new domain, the console prints message whenever RMA is 
allocated;
however, when restoring a domain, there is no RMA message...

Looking through python code, RMA is created via allocMem, in XenDomainInfo.py.
However, allocMem is called only during initDomain for 'domain creation'.
'domain recreation' does not invoke allocMem...

Here is xend.log showing typical mfns, eg 2d97,  (in this case, no data was 
written to these pages):

[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:268) 
XendDomainInfo.restore(['domain', ['domid', '2'], ['uuid', 
'052ea7ad-8567-74dd-3096-6e447cb7f059'], ['vcpus', '1'], ['vcpu_avail', '1'], 
['cpu_weight', '1.0'], ['memory', '64'], ['powerpc_rma_log', '26'], 
['shadow_memory', '1'], ['maxmem', '64'], ['features'], ['name', 
'S-1160762357.95'], ['on_poweroff', 'destroy'], ['on_reboot', 'restart'], 
['on_crash', 'restart'], ['image', ['linux', ['kernel', '/root/vmlinux.strip'], 
['ramdisk', '/root/ramdisk.image.gz'], ['args', 'xencons=tty128 
console=tty128']]], ['state', '------'], ['shutdown_reason', 'poweroff'], 
['cpu_time', '1.17065513'], ['online_vcpus', '1'], ['up_time', '59.548593998'], 
['start_time', '1160762358.2'], ['store_mfn', '131070'], ['console_mfn', 
'131069']])
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:299) 
parseConfig: config is ['domain', ['domid', '2'], ['uuid', 
'052ea7ad-8567-74dd-3096-6e447cb7f059'], ['vcpus', '1'], ['vcpu_avail', '1'], 
['cpu_weight', '1.0'], ['memory', '64'], ['powerpc_rma_log', '26'], 
['shadow_memory', '1'], ['maxmem', '64'], ['features'], ['name', 
'S-1160762357.95'], ['on_poweroff', 'destroy'], ['on_reboot', 'restart'], 
['on_crash', 'restart'], ['image', ['linux', ['kernel', '/root/vmlinux.strip'], 
['ramdisk', '/root/ramdisk.image.gz'], ['args', 'xencons=tty128 
console=tty128']]], ['state', '------'], ['shutdown_reason', 'poweroff'], 
['cpu_time', '1.17065513'], ['online_vcpus', '1'], ['up_time', '59.548593998'], 
['start_time', '1160762358.2'], ['store_mfn', '131070'], ['console_mfn', 
'131069']]
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:398) 
parseConfig: result is {'shadow_memory': 1, 'powerpc_rma_log': 26, 
'bootloader': None, 'on_reboot': 'restart', 'localtime': None, 'image': 
['linux', ['kernel', '/root/vmlinux.strip'], ['ramdisk', 
'/root/ramdisk.image.gz'], ['args', 'xencons=tty128 console=tty128']], 
'on_poweroff': 'destroy', 'bootloader_args': None, 'cpus': None, 'on_crash': 
'restart', 'name': 'S-1160762357.95', 'backend': [], 'vcpus': 1, 'cpu_weight': 
1.0, 'features': None, 'vcpu_avail': 1, 'memory': 64, 'device': [], 'maxmem': 
64, 'cpu': None, 'uuid': '052ea7ad-8567-74dd-3096-6e447cb7f059'}
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:1247) 
XendDomainInfo.construct: None
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:714) 
Storing VM details: {'shadow_memory': '1', 'powerpc_rma_log': '26', 'on_crash': 
'restart', 'on_reboot': 'restart', 'image': "(linux (kernel 
/root/vmlinux.strip) (ramdisk /root/ramdisk.image.gz) (args 'xencons=tty128 
console=tty128'))", 'on_poweroff': 'destroy', 'name': 'S-1160762357.95', 
'xend/restart_count': '0', 'vcpus': '1', 'vcpu_avail': '1', 'memory': '64', 
'maxmem': '64', 'uuid': '052ea7ad-8567-74dd-3096-6e447cb7f059'}
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:749) 
Storing domain details: {'console/port': '2', 'name': 'S-1160762357.95', 
'console/limit': '1048576', 'vm': '/vm/052ea7ad-8567-74dd-3096-6e447cb7f059', 
'domid': '6', 'cpu/0/availability': 'online', 'memory/target': '65536', 
'store/port': '1'}
[2006-10-14 12:44:23 xend 8887] DEBUG (balloon:127) Balloon: 215472 KiB free; 
need 65536; done.
[2006-10-14 12:44:23 xend 8887] DEBUG (XendCheckpoint:155) [xc_restore]: 
/usr/lib/xen/bin/xc_restore 4 6 16384 1 2
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore 
start: max_pfn = 16384
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) Increased domain 
reservation by 65536 KB
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) Reloading memory 
pages:   0%
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 0/16384 at 2d97
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 1/16384 at 2d96
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 2/16384 at 2d95
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 3/16384 at 2d94
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 4/16384 at 2d9f
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 5/16384 at 2d9e
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 6/16384 at 2d9d
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 7/16384 at 2d9c
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 8/16384 at 2d9b
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 9/16384 at 2d9a
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 10/16384 at 2d99
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 11/16384 at 2d98
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 12/16384 at 2dbf
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 13/16384 at 2dbe
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 14/16384 at 2dbd
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 15/16384 at 2dbc
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) xc_linux_restore: 
page 16/16384 at 2dbb
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) Received all pages
[2006-10-14 12:44:23 xend 8887] ERROR (XendCheckpoint:236) Restore exit with 
rc=1
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:1446) 
XendDomainInfo.destroy: domid=6
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] DEBUG (XendDomainInfo:1454) 
XendDomainInfo.destroyDomain(6)
[2006-10-14 12:44:23 xend.XendDomainInfo 8887] ERROR (XendDomainInfo:1460) 
XendDomainInfo.destroy: xc.domain_destroy failed.
Traceback (most recent call last):
  File "//usr/lib/python/xen/xend/XendDomainInfo.py", line 1458, in 
destroyDomain
    xc.domain_destroy(self.domid)
Error: (3, 'No such process')
[2006-10-14 12:44:23 xend 8887] ERROR (XendDomain:268) Restore failed
Traceback (most recent call last):
  File "//usr/lib/python/xen/xend/XendDomain.py", line 263, in domain_restore_fd
    return XendCheckpoint.restore(self, fd)
  File "//usr/lib/python/xen/xend/XendCheckpoint.py", line 159, in restore
    forkHelper(cmd, fd, handler.handler, True)
  File "//usr/lib/python/xen/xend/XendCheckpoint.py", line 227, in forkHelper
    raise XendError("%s failed" % string.join(cmd))
XendError: /usr/lib/xen/bin/xc_restore 4 6 16384 1 2 failed

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel