
Hi, I try to understand the compare and baseline CPU commands with libvirt. This functions are useful for the migration ? Before migrate a domain to other host, libvirt verifies the CPU compatibility, that's right ? I've got two 64bits hosts, one with an Intel CPU :
*<cpu>*
* **<arch>x86_64</arch>* * **<model>Penryn</model>* * **<vendor>Intel</vendor>* * **<topology sockets='1' cores='2' threads='1'/>* * **<feature name='xtpr'/>* * **<feature name='tm2'/>* * **<feature name='est'/>* * **<feature name='vmx'/>* * **<feature name='ds_cpl'/>* * **<feature name='monitor'/>* * **<feature name='pbe'/>* * **<feature name='tm'/>* * **<feature name='ht'/>* * **<feature name='ss'/>* * **<feature name='acpi'/>* * **<feature name='ds'/>* * **<feature name='vme'/>* *</cpu>* and one with an AMD CPU
*<cpu>*
* **<arch>x86_64</arch>* * **<model>Opteron_G2</model>* * **<vendor>AMD</vendor>* * **<topology sockets='1' cores='2' threads='1'/>* * **<feature name='3dnowprefetch'/>* * **<feature name='cr8legacy'/>* * **<feature name='extapic'/>* * **<feature name='cmp_legacy'/>* * **<feature name='3dnow'/>* * **<feature name='3dnowext'/>* * **<feature name='fxsr_opt'/>* * **<feature name='mmxext'/>* * **<feature name='ht'/>* * **<feature name='vme'/>* *</cpu>* Baseline output : AMD to intel:
*$ virsh cpu-baseline cpu_gargamel.xml *
*<cpu match='exact'>* * <model>Opteron_G2</model>* * <vendor>AMD</vendor>* * <feature policy='require' name='3dnowprefetch'/>* * <feature policy='require' name='cr8legacy'/>* * <feature policy='require' name='extapic'/>* * <feature policy='require' name='cmp_legacy'/>* * <feature policy='require' name='3dnow'/>* * <feature policy='require' name='3dnowext'/>* * <feature policy='require' name='fxsr_opt'/>* * <feature policy='require' name='mmxext'/>* * <feature policy='require' name='ht'/>* * <feature policy='require' name='vme'/>* *</cpu>* Intel to AMD:
*$ virsh cpu-baseline cpu_azrael.xml *
*<cpu match='exact'>* * <model>Penryn</model>* * <vendor>Intel</vendor>* * <feature policy='require' name='xtpr'/>* * <feature policy='require' name='tm2'/>* * <feature policy='require' name='est'/>* * <feature policy='require' name='vmx'/>* * <feature policy='require' name='ds_cpl'/>* * <feature policy='require' name='monitor'/>* * <feature policy='require' name='pbe'/>* * <feature policy='require' name='tm'/>* * <feature policy='require' name='ht'/>* * <feature policy='require' name='ss'/>* * <feature policy='require' name='acpi'/>* * <feature policy='require' name='ds'/>* * <feature policy='require' name='vme'/>* *</cpu>* But if I try to migrate a domain from a host to another, the CPU compare says there are incompatible. I don't understand, I've done live migration manually (*migrate -d tcp: 192.168.1.10:4444*) with KVM and it's works nicely. Why it's not possible trough libvirt ? I use libvirt 0.7.5 with KVM on an Ubuntu LTS 10.04. Regards, Doude.