kvm: svm: Prefer vcpu->cpu to raw_smp_processor_id()
The current logical processor id is cached in vcpu->cpu. Use it instead of raw_smp_processor_id() when a kvm_vcpu struct is available. Signed-off-by: Jim Mattson <jmattson@google.com> Reviewed-by: Oliver Upton <oupton@google.com> Message-Id: <20200603235623.245638-2-jmattson@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
a8d908b587
commit
73cd6e5f7f
@ -2992,21 +2992,18 @@ static int handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath)
|
|||||||
|
|
||||||
static void reload_tss(struct kvm_vcpu *vcpu)
|
static void reload_tss(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
int cpu = raw_smp_processor_id();
|
struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu);
|
||||||
|
|
||||||
struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
|
|
||||||
sd->tss_desc->type = 9; /* available 32/64-bit TSS */
|
sd->tss_desc->type = 9; /* available 32/64-bit TSS */
|
||||||
load_TR_desc();
|
load_TR_desc();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pre_svm_run(struct vcpu_svm *svm)
|
static void pre_svm_run(struct vcpu_svm *svm)
|
||||||
{
|
{
|
||||||
int cpu = raw_smp_processor_id();
|
struct svm_cpu_data *sd = per_cpu(svm_data, svm->vcpu.cpu);
|
||||||
|
|
||||||
struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
|
|
||||||
|
|
||||||
if (sev_guest(svm->vcpu.kvm))
|
if (sev_guest(svm->vcpu.kvm))
|
||||||
return pre_sev_run(svm, cpu);
|
return pre_sev_run(svm, svm->vcpu.cpu);
|
||||||
|
|
||||||
/* FIXME: handle wraparound of asid_generation */
|
/* FIXME: handle wraparound of asid_generation */
|
||||||
if (svm->asid_generation != sd->asid_generation)
|
if (svm->asid_generation != sd->asid_generation)
|
||||||
|
Loading…
Reference in New Issue
Block a user