On 02/20/2013 03:26 PM, Anthony Liguori wrote: > Cole Robinson <crobi...@redhat.com> writes: > >> This switch will turn on all the migration compat bits needed to >> perform migration from qemu-kvm to qemu. It's just a stub for now. >> >> This compat will break incoming migration from qemu < 1.3, but for >> distros where qemu-kvm was the only shipped package for years it's >> not a big loss (and I don't know any way to avoid it). >> >> Signed-off-by: Cole Robinson <crobi...@redhat.com> > > This can't be a build time option. It's ugly and just reintroduces a fork. > > I assume the issue with making it a run time option is that libvirt > would need to be updated? Why can't qemu-kvm be a script wrapper that > passes a fixed flag? >
Fedora 18 ships only qemu-kvm-1.2. From that it builds qemu-kvm (with accel=kvm default) and qemu-system-x86_64 (with accel=tcg default). Both still have the migration incompatibility issues compared to plain qemu 1.2, like cirrus mem=16MB. So even if there was a cli option like -qemu-kvm-compat, in Fedora we would want to enable it even for both qemu-kvm and qemu-system-x86_64. Maybe add an option -qemu-kvm-compat=on|off, default to off, but add a configure option to set default=on? We would set default=on in Fedora, but users can still manually turn it off. - Cole > Regards, > > Anthony Liguori > >> --- >> configure | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/configure b/configure >> index bf5970f..296f488 100755 >> --- a/configure >> +++ b/configure >> @@ -170,6 +170,7 @@ xfs="" >> >> vhost_net="no" >> kvm="no" >> +migrate_from_kvm="no" >> gprof="no" >> debug_tcg="no" >> debug="no" >> @@ -759,6 +760,8 @@ for opt do >> ;; >> --enable-kvm) kvm="yes" >> ;; >> + --enable-migration-from-qemu-kvm) migrate_from_kvm="yes" >> + ;; >> --disable-tcg-interpreter) tcg_interpreter="no" >> ;; >> --enable-tcg-interpreter) tcg_interpreter="yes" >> @@ -1087,6 +1090,9 @@ echo " --enable-bluez enable bluez stack >> connectivity" >> echo " --disable-slirp disable SLIRP userspace network >> connectivity" >> echo " --disable-kvm disable KVM acceleration support" >> echo " --enable-kvm enable KVM acceleration support" >> +echo " --enable-migration-from-qemu-kvm Allow migration from qemu-kvm." >> +echo " This will break migration from " >> +echo " qemu < 1.3 in most cases" >> echo " --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)" >> echo " --disable-nptl disable usermode NPTL support" >> echo " --enable-nptl enable usermode NPTL support" >> @@ -3334,6 +3340,7 @@ echo "Linux AIO support $linux_aio" >> echo "ATTR/XATTR support $attr" >> echo "Install blobs $blobs" >> echo "KVM support $kvm" >> +echo "Migrate from qemu-kvm $migrate_from_kvm" >> echo "TCG interpreter $tcg_interpreter" >> echo "fdt support $fdt" >> echo "preadv support $preadv" >> @@ -3622,6 +3629,9 @@ fi >> if test "$signalfd" = "yes" ; then >> echo "CONFIG_SIGNALFD=y" >> $config_host_mak >> fi >> +if test "$migrate_from_kvm" = "yes"; then >> + echo "CONFIG_MIGRATE_FROM_QEMU_KVM=y" >> $config_host_mak >> +fi >> if test "$tcg_interpreter" = "yes" ; then >> echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak >> fi >> -- >> 1.8.1.2