Commit 73cd6e5f authored by Jim Mattson's avatar Jim Mattson Committed by Paolo Bonzini
Browse files

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: default avatarJim Mattson <jmattson@google.com>
Reviewed-by: default avatarOliver Upton <oupton@google.com>
Message-Id: <20200603235623.245638-2-jmattson@google.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent a8d908b5
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -2992,21 +2992,18 @@ static int handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath)

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 */
	load_TR_desc();
}

static void pre_svm_run(struct vcpu_svm *svm)
{
	int cpu = raw_smp_processor_id();

	struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
	struct svm_cpu_data *sd = per_cpu(svm_data, svm->vcpu.cpu);

	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 */
	if (svm->asid_generation != sd->asid_generation)