xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* live migration from new platform to old platform
@ 2016-06-07  7:02 Hao, Xudong
  2016-06-07  7:38 ` Jan Beulich
  2016-06-07  9:46 ` Andrew Cooper
  0 siblings, 2 replies; 5+ messages in thread
From: Hao, Xudong @ 2016-06-07  7:02 UTC (permalink / raw)
  To: Xen-devel; +Cc: Zhang, Haozhong, Wei Liu

Does anyone experience for HVM live migration from new generation platform to old generation platform? For X86 got a failure from Broadwell to Haswell, both platforms used same Xen version 4.7.0 RC3.

[root@bdw-ep1 feng]# xl migrate 21 hsw-ep1 
...
migration target: Ready to receive domain.
Saving to migration stream new xl format (info 0x3/0x0/1537) Loading new save file <incoming migration stream> (new xl fmt info 0x3/0x0/1537)  Savefile contains xl domain config in JSON format Parsing config from <saved>
xc: info: Saving domain 21, type x86 HVM
xc: info: Found x86 HVM domain from Xen 4.7
xc: info: Restoring domain
xc: error: Unable to restore HVM context (1 = Operation not permitted): Internal error
xc: error: Restore failed (1 = Operation not permitted): Internal error
libxl: error: libxl_stream_read.c:852:libxl__xc_domain_restore_done: restoring domain: Operation not permitted
libxl: error: libxl_create.c:1220:domcreate_rebuild_done: cannot (re-)build domain: -3
libxl: error: libxl.c:1564:libxl__destroy_domid: non-existant domain 31
libxl: error: libxl.c:1523:domain_destroy_callback: unable to destroy guest with domid 31
libxl: error: libxl.c:1452:domain_destroy_cb: destruction of domain 31 failed migration target: Domain creation failed (code -3).
libxl: error: libxl_utils.c:507:libxl_read_exactly: file/stream truncated reading ready message from migration receiver stream
libxl: info: libxl_exec.c:118:libxl_report_child_exitstatus: migration transport process [20867] exited with error status 1 Migration failed, resuming at sender.


Guessing HVM context of some new instruction can't be restored to an old platform. Current Xen xl has cupid parameter parsing implement "cupid" in guest config, like 
cupid='host,xsave=0'
or
cpuid=[ '1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0' ]

So I tried to disable some new cupid in guest config, both of the two below method doesn't work, the HVM guest didn't disable those cupid such as "hle, rtm, rdseed...".
cpuid='host,3dnowprefetch=0,hle=0,rtm=0,rdseed=0,adx=0,smap=0'
cpuid=['7:ebx=xxxxxxxxxxx000xxxxxx0xxxxxx0xxxx']

From function libxl_cpuid_parse_config() of tools/libxl/libxl_cpuid.c, only some cupid are implemented. Feature lacking issue?

Best Regards,
Xudong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-06-08  2:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-07  7:02 live migration from new platform to old platform Hao, Xudong
2016-06-07  7:38 ` Jan Beulich
2016-06-07  8:40   ` Hao, Xudong
2016-06-07  9:46 ` Andrew Cooper
2016-06-08  2:08   ` Hao, Xudong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).