Veselina Radeva <ve...@st6.io> writes: > Hi, > > I'm trying to migrate a VM from one host to another where there is a 1KHz > difference in the TSC frequency between hosts. This results in errors > caused by this warning > <https://github.com/qemu/qemu/blob/b785d25e91718a660546a6550f64b3c543af7754/target/i386/kvm.c#L777>, > so migration fails. On the other hand, I can see few lines before that > <https://github.com/qemu/qemu/blob/b785d25e91718a660546a6550f64b3c543af7754/target/i386/kvm.c#L761> > that > there is a try to allow TSC frequency difference between host and VM if it > falls within the specified bounds. It seems like `KVM_SET_TSC_KHZ`succeeds > only when TSC Scaling is available > <https://github.com/qemu/qemu/blob/2c6605389c1f76973d92b69b85d40d94b8f1092c/linux-headers/linux/kvm.h#L1361>. > Practically this means that migration between hosts having difference in > TSC frequency, even when it falls within bounds, is possible only when TSC > scaling is available.
Hi, it should be possible to migrate within the 250 ppm frequency difference tolerance even when TSC scaling is not available. But sufficiently new QEMU and kernel are needed, I think QEMU >= 5.1 and Linux >= 5.8. > On the other hand, in libvirt, > <https://github.com/libvirt/libvirt/commit/d8e5b4560006590668d4669f54a46b08ec14c1a2> > migration is allowed if TSC frequency difference falls within bounds, no > matter if TSC scaling is enabled or not. > > So, I was wondering is it intended not to allow migration between hosts > having differences in TSC frequency if TSC scaling is not available? Or is > it a bug? If you have the right kernel, QEMU and libvirt (if you use it) versions and it doesn't work then it looks like a bug to me. Regards, Milan > Thanks in advance, > Veselina Radeva > https://st6.io/