summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2021-04-06 10:18:11 -0700
committerPaolo Bonzini <pbonzini@redhat.com>2021-04-20 04:18:50 -0400
commit44f1b5586df03b044704f3c57f529ea4120f406b (patch)
treee03d240817dad9b0439cf4d248838b7e2c3b0e82 /arch/x86
parent554cf31474937f0a78045aaa7df565ffb6a29c43 (diff)
downloadlinux-44f1b5586df03b044704f3c57f529ea4120f406b.tar.gz
linux-44f1b5586df03b044704f3c57f529ea4120f406b.tar.bz2
linux-44f1b5586df03b044704f3c57f529ea4120f406b.zip
KVM: SVM: Enhance and clean up the vmcb tracking comment in pre_svm_run()
Explicitly document why a vmcb must be marked dirty and assigned a new asid when it will be run on a different cpu. The "what" is relatively obvious, whereas the "why" requires reading the APM and/or KVM code. Opportunistically remove a spurious period and several unnecessary newlines in the comment. No functional change intended. Signed-off-by: Sean Christopherson <seanjc@google.com> Message-Id: <20210406171811.4043363-5-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kvm/svm/svm.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 1207526cf8e7..5f1af4163251 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -3336,11 +3336,10 @@ static void pre_svm_run(struct kvm_vcpu *vcpu)
struct vcpu_svm *svm = to_svm(vcpu);
/*
- * If the previous vmrun of the vmcb occurred on
- * a different physical cpu then we must mark the vmcb dirty.
- * and assign a new asid.
- */
-
+ * If the previous vmrun of the vmcb occurred on a different physical
+ * cpu, then mark the vmcb dirty and assign a new asid. Hardware's
+ * vmcb clean bits are per logical CPU, as are KVM's asid assignments.
+ */
if (unlikely(svm->current_vmcb->cpu != vcpu->cpu)) {
svm->current_vmcb->asid_generation = 0;
vmcb_mark_all_dirty(svm->vmcb);