diff options
author | Vitaly Kuznetsov | 2021-03-19 13:38:01 +0100 |
---|---|---|
committer | Paolo Bonzini | 2021-03-19 13:48:18 +0100 |
commit | 561dbb41b1d752098249128d8462aaadc56fd15d (patch) | |
tree | 4fb17e7a7151927deb5ff2ba78de6b7723a020e8 /docs/hyperv.txt | |
parent | i386: Fix 'hypercall_hypercall' typo (diff) | |
download | qemu-561dbb41b1d752098249128d8462aaadc56fd15d.tar.gz qemu-561dbb41b1d752098249128d8462aaadc56fd15d.tar.xz qemu-561dbb41b1d752098249128d8462aaadc56fd15d.zip |
i386: Make migration fail when Hyper-V reenlightenment was enabled but 'user_tsc_khz' is unset
KVM doesn't fully support Hyper-V reenlightenment notifications on
migration. In particular, it doesn't support emulating TSC frequency
of the source host by trapping all TSC accesses so unless TSC scaling
is supported on the destination host and KVM_SET_TSC_KHZ succeeds, it
is unsafe to proceed with migration.
KVM_SET_TSC_KHZ is called from two sites: kvm_arch_init_vcpu() and
kvm_arch_put_registers(). The later (intentionally) doesn't propagate
errors allowing migrations to succeed even when TSC scaling is not
supported on the destination. This doesn't suit 're-enlightenment'
use-case as we have to guarantee that TSC frequency stays constant.
Require 'tsc-frequency=' command line option to be specified for successful
migration when re-enlightenment was enabled by the guest.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210319123801.1111090-1-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'docs/hyperv.txt')
-rw-r--r-- | docs/hyperv.txt | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/hyperv.txt b/docs/hyperv.txt index 5df00da54f..e53c581f45 100644 --- a/docs/hyperv.txt +++ b/docs/hyperv.txt @@ -160,6 +160,11 @@ the hypervisor) until it is ready to switch to the new one. This, in conjunction with hv-frequencies, allows Hyper-V on KVM to pass stable clocksource (Reference TSC page) to its own guests. +Note, KVM doesn't fully support re-enlightenment notifications and doesn't +emulate TSC accesses after migration so 'tsc-frequency=' CPU option also has to +be specified to make migration succeed. The destination host has to either have +the same TSC frequency or support TSC scaling CPU feature. + Recommended: hv-frequencies 3.16. hv-evmcs |