linux_dsm_epyc7002/arch/x86/kvm
Denis Plotnikov bd8fab39cd KVM: x86: fix maintaining of kvm_clock stability on guest CPU hotplug
VCPU TSC synchronization is perfromed in kvm_write_tsc() when the TSC
value being set is within 1 second from the expected, as obtained by
extrapolating of the TSC in already synchronized VCPUs.

This is naturally achieved on all VCPUs at VM start and resume;
however on VCPU hotplug it is not: the newly added VCPU is created
with TSC == 0 while others are well ahead.

To compensate for that, consider host-initiated kvm_write_tsc() with
TSC == 0 a special case requiring synchronization regardless of the
current TSC on other VCPUs.

Signed-off-by: Denis Plotnikov <dplotnikov@virtuozzo.com>
Reviewed-by: Roman Kagan <rkagan@virtuozzo.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
2017-04-12 20:17:15 +02:00
..
cpuid.c sched/headers: Prepare to move sched_info_on() and force_schedstat_enabled() from <linux/sched.h> to <linux/sched/stat.h> 2017-03-02 08:42:39 +01:00
cpuid.h
debugfs.c
emulate.c Merge branch 'x86/cpufeature' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2017-01-17 17:53:01 +01:00
hyperv.c sched/headers: Prepare to move cputime functionality from <linux/sched.h> into <linux/sched/cputime.h> 2017-03-02 08:42:39 +01:00
hyperv.h KVM: x86: Hyper-V tsc page setup 2016-09-20 09:26:20 +02:00
i8254.c KVM: x86: Handle the kthread worker using the new API 2016-12-08 15:31:11 +01:00
i8254.h KVM: x86: Handle the kthread worker using the new API 2016-12-08 15:31:11 +01:00
i8259.c KVM: x86: simplify pic_ioport_read() 2017-04-12 20:17:15 +02:00
ioapic.c KVM: x86: rename kvm_vcpu_request_scan_ioapic() 2017-04-12 20:17:14 +02:00
ioapic.h KVM: x86: convert kvm_(set|get)_ioapic() into void 2017-04-12 20:17:14 +02:00
irq_comm.c KVM: x86: use irqchip_kernel() to check for pic+ioapic 2017-04-12 20:17:15 +02:00
irq.c KVM: x86: get rid of pic_irqchip() 2017-04-12 20:17:13 +02:00
irq.h KVM: x86: make kvm_pic_reset() static 2017-04-12 20:17:14 +02:00
Kconfig KVM: x86: drop legacy device assignment 2017-04-07 16:49:00 +02:00
kvm_cache_regs.h
lapic.c KVM: Support vCPU-based gfn->hva cache 2017-02-16 18:42:46 +01:00
lapic.h KVM: x86: preparatory changes for APICv cleanups 2017-02-15 14:54:34 +01:00
Makefile KVM: x86: drop legacy device assignment 2017-04-07 16:49:00 +02:00
mmu_audit.c
mmu.c kvm: nVMX: support EPT accessed/dirty bits 2017-04-07 16:49:00 +02:00
mmu.h kvm: nVMX: support EPT accessed/dirty bits 2017-04-07 16:49:00 +02:00
mmutrace.h
mtrr.c
page_track.c KVM: x86: cleanup the page tracking SRCU instance 2017-03-28 14:08:02 +02:00
paging_tmpl.h kvm: nVMX: support EPT accessed/dirty bits 2017-04-07 16:49:00 +02:00
pmu_amd.c
pmu_intel.c
pmu.c KVM: x86: never specify a sample period for virtualized in_tx_cp counters 2017-03-01 14:19:46 +01:00
pmu.h
svm.c kvm/svm: Setup MCG_CAP on AMD properly 2017-04-07 16:49:00 +02:00
trace.h
tss.h
vmx.c KVM: nVMX: support RDRAND and RDSEED exiting 2017-04-07 16:49:00 +02:00
x86.c KVM: x86: fix maintaining of kvm_clock stability on guest CPU hotplug 2017-04-12 20:17:15 +02:00
x86.h KVM: x86: introduce get_kvmclock_ns 2016-09-20 09:26:15 +02:00