diff options
author | Vitaly Kuznetsov <vkuznets@redhat.com> | 2021-03-16 15:37:34 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2021-03-17 04:03:22 -0400 |
commit | e880c6ea55b9805294ecc100ee95e0c9860ae90e (patch) | |
tree | 580199040f7f6a1ede1857c8989e6ad0da1ad382 /arch/arm/mm/mm.h | |
parent | d2547cf59793168b564372d75620897416cbaf87 (diff) |
KVM: x86: hyper-v: Prevent using not-yet-updated TSC page by secondary CPUs
When KVM_REQ_MASTERCLOCK_UPDATE request is issued (e.g. after migration)
we need to make sure no vCPU sees stale values in PV clock structures and
thus all vCPUs are kicked with KVM_REQ_CLOCK_UPDATE. Hyper-V TSC page
clocksource is global and kvm_guest_time_update() only updates in on vCPU0
but this is not entirely correct: nothing blocks some other vCPU from
entering the guest before we finish the update on CPU0 and it can read
stale values from the page.
Invalidate TSC page in kvm_gen_update_masterclock() to switch all vCPUs
to using MSR based clocksource (HV_X64_MSR_TIME_REF_COUNT).
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210316143736.964151-3-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/arm/mm/mm.h')
0 files changed, 0 insertions, 0 deletions