[RFC PATCH 0/7] KVM: Fix tick-based vtime accounting on x86

From: Sean Christopherson
Date: Tue Apr 13 2021 - 14:29:44 EST


This is an alternative to Wanpeng's series[*] to fix tick-based accounting
on x86. The approach for fixing the bug is identical: defer accounting
until after tick IRQs are handled. The difference is purely in how the
context tracking and vtime code is refactored in order to give KVM the
hooks it needs to fix the x86 bug.

x86 compile tested only, hence the RFC. If folks like the direction and
there are no unsolvable issues, I'll cross-compile, properly test on x86,
and post an "official" series.

Sean Christopherson (7):
sched/vtime: Move guest enter/exit vtime accounting to separate
helpers
context_tracking: Move guest enter/exit logic to standalone helpers
context_tracking: Consolidate guest enter/exit wrappers
context_tracking: KVM: Move guest enter/exit wrappers to KVM's domain
KVM: Move vtime accounting of guest exit to separate helper
KVM: x86: Consolidate guest enter/exit logic to common helpers
KVM: x86: Defer tick-based accounting 'til after IRQ handling

arch/x86/kvm/svm/svm.c | 39 +-----------
arch/x86/kvm/vmx/vmx.c | 39 +-----------
arch/x86/kvm/x86.c | 8 +++
arch/x86/kvm/x86.h | 48 +++++++++++++++
include/linux/context_tracking.h | 100 ++++++++-----------------------
include/linux/kvm_host.h | 50 ++++++++++++++++
include/linux/vtime.h | 45 ++++++++++++--
7 files changed, 175 insertions(+), 154 deletions(-)

--
2.31.1.295.g9ea45b61b8-goog