OSDN Git Service

KVM: nSVM: Track the physical cpu of the vmcb vmrun through the vmcb
authorCathy Avery <cavery@redhat.com>
Tue, 12 Jan 2021 16:43:12 +0000 (11:43 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 15 Mar 2021 08:42:29 +0000 (04:42 -0400)
commitaf18fa775d07aeb92d4598df5364a21489aa4141
tree0a63abc5f4414f89725839d5f6bc4dae4b6e75e6
parent4995a3685f1b768648187ed20bea3366f5f76228
KVM: nSVM: Track the physical cpu of the vmcb vmrun through the vmcb

This patch moves the physical cpu tracking from the vcpu
to the vmcb in svm_switch_vmcb. If either vmcb01 or vmcb02
change physical cpus from one vmrun to the next the vmcb's
previous cpu is preserved for comparison with the current
cpu and the vmcb is marked dirty if different. This prevents
the processor from using old cached data for a vmcb that may
have been updated on a prior run on a different processor.

It also moves the physical cpu check from svm_vcpu_load
to pre_svm_run as the check only needs to be done at run.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Cathy Avery <cavery@redhat.com>
Message-Id: <20210112164313.4204-2-cavery@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h