On Mon, Jun 03, 2019 at 14:52:40 +0200, Ján Tomko wrote:
On Mon, Jun 03, 2019 at 02:27:58PM +0200, Jiri Denemark wrote:
>When migrating a domain with invtsc CPU feature enabled, the TSC
>frequency of the destination host must match the frequency used when the
>domain was started on the source host or the destination host has to
>support TSC scaling.
>
>If the frequencies do not match and the destination host does not
>support TSC scaling, QEMU will fail to set the right TSC frequency when
>starting vCPUs on the destination and thus migration will fail. However,
>this is quite late since both host might have spent significant time
>transferring memory and perhaps even storage data.
>
>By adding the check to libvirt we can let migration fail before any data
>starts to be sent over. If for some reason libvirt is unable to detect
>the host's TSC frequency or scaling support, we'll just let QEMU try and
>the migration will either succeed or fail later.
>
>Luckily, we mandate TSC frequency to be explicitly set in the domain XML
>to even allow migration of domains with invtsc. We can just check
>whether the requested frequency is compatible with the current host
>before starting QEMU.
>
>https://bugzilla.redhat.com/show_bug.cgi?id=1641702
>
>Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
>---
> src/qemu/qemu_process.c | 53 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
Thanks for the review and I'm sorry for forgetting to add the
Reviewed-by line into the commits before pushing.
Jirka