8 messages in com.xensource.lists.xen-develRe: [Xen-devel] migration and restore?| From | Sent On | Attachments |
|---|---|---|
| Dan Magenheimer | 02 Jan 2008 14:18 | |
| Mark Williamson | 02 Jan 2008 17:50 | |
| Rob Gardner | 02 Jan 2008 19:42 | |
| tgh | 04 Jan 2008 00:13 | |
| Andre Przywara | 08 Jan 2008 04:16 | |
| Daniel Stodden | 08 Jan 2008 04:57 | |
| tgh | 26 Feb 2008 17:36 | |
| tgh | 26 Feb 2008 19:41 |
| Subject: | Re: [Xen-devel] migration and restore?![]() |
|---|---|
| From: | tgh (wwww...@sina.com.cn) |
| Date: | 02/26/2008 05:36:29 PM |
| List: | com.xensource.lists.xen-devel |
thank both of you
and how to debug python, i could debug c program with gdb ,and how to debug python program?
and ,does the code of xc_domain_save.c and xc_domain_restore.c do the same job as the xend "xm save " and "xm restore"? and what are the valid parameter for it ? i look through the code ,it seems to be able to save VM in a live way ,and i try for some parameter , but failed , and how to do it?
[root@vt-0 ~]# cd /root/xen-build-tree/xen-3.1.0-src/tools/xcutils/ [root@vt-0 xcutils]# ls Makefile readnotes.c xc_restore xc_restore.o xc_save.c readnotes readnotes.o xc_restore.c xc_save xc_save.o [root@vt-0 xcutils]# ./xc_save /tmp xc_save: usage: ./xc_save iofd domid maxit maxf flags [root@vt-0 xcutils]# ./xc_save /tmp/dom-1 dom-1 2 2 1 ERROR Internal error: Couldn't map live_shinfo Warning - couldn't disable shadow modeSave exit rc=1 [root@vt-0 xcutils]# ./xc_save /tmp/dom-1 dom-1 1 1 1 ERROR Internal error: Couldn't map live_shinfo Warning - couldn't disable shadow modeSave exit rc=1 [root@vt-0 xcutils]# ./xc_save /tmp/dom-1 dom-1 1 1 0 ERROR Internal error: Couldn't map live_shinfo Save exit rc=1 [root@vt-0 xcutils]#
Thanks
Daniel Stodden 写道:
On Tue, 2008-01-08 at 13:16 +0100, Andre Przywara wrote:
i read the code of migration, and i fail to find the counterpart code of migration , which deal with the restoration of VM in the destination node, and i read the code of /tools/libxc/xc_domain_restore.c ,but the function of xc_domain_restore() seems not to be the one for the migration, it seems not support the restore of the iterative copy of the VM memory state ,is it? or how does it deal with the work?
Maybe the missing pieces you are looking for are in the xend (Python) code? In line 205 (or so) in tools/pyhton/xen/xend/XendDomainInfo.py you will find the high level function "restore". This method calls XendDomainInfo.resume (line 446) and triggers the necessary actions here. Another file to look in is XendCheckpoint.py, here you'll find the method "restore" (line 154). Some Migration code is also in XendDomain.py. You can get more info if you enable debugging, do a live migration (to localhost) and look in xend.log for "Saving memory pages" or "Reloading memory pages". From here you will find the corresponding code (maybe by just grepping for the log message text). I found line 427 in xc_domain_restore.c, the code following this line deals with the restoring of the frames. From my perspective there is everything needed in there.
this is correct, the iteration is definitely done in xc_domain_restore().
the for loop as described above follows iteration as dictated by the source machine. each interation generates a number of batches, each batch comprising a number of pages, either first try or (later) resent due to being dirtied. each batch is dispatched in several passes. the second pass generates the machine frame list into which the batch is read. the most interesting part where that memory is mapped and filled with frame contents starts in line 533 (xc_map_foreign_range) and the subsequent for-loop in line 544 resp.
complete enough to follow without the addtional setup done by xend. tools/xcutils/ contains C programs calling into the library for save and restore. should be easy to call from the command line once the parameter meanings are understood; i'd suggest to build with debug output enabled and follow the stderr messages to see how it works.
regards, daniel
_______________________________________________ Xen-devel mailing list Xen-...@lists.xensource.com http://lists.xensource.com/xen-devel




