Re: [PATCH 02/12] KVM: x86: Add a common TSC scaling ratio field in kvm_vcpu_arch

From: Haozhong Zhang
Date: Mon Oct 05 2015 - 21:54:47 EST


On Mon, Oct 05, 2015 at 09:26:30PM +0200, Radim KrÄmÃÅ wrote:
> 2015-09-28 13:38+0800, Haozhong Zhang:
> > This patch moves the field of TSC scaling ratio from the architecture
> > struct vcpu_svm to the common struct kvm_vcpu_arch.
> >
> > Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx>
> > ---
> > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> > @@ -7080,6 +7080,9 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm,
> >
> > vcpu = kvm_x86_ops->vcpu_create(kvm, id);
> >
> > + if (!IS_ERR(vcpu))
> > + vcpu->arch.tsc_scaling_ratio = kvm_default_tsc_scaling_ratio;
>
> This shouldn't be necessary, (and we can definitely do it without error
> checking later)
>
> kvm_arch_vcpu_create
> (vmx|svm)_create_vcpu
> kvm_vcpu_init
> kvm_arch_vcpu_init
> kvm_set_tsc_khz
>
> sets vcpu->arch.tsc_scaling_ratio to something reasonable and SVM didn't
> overwrite that value. (kvm_set_tsc_khz() only doesn't set the ration if
> this_tsc_khz == 0, which we could extend to be extra safe.)

Thanks Radim! I even didn't notice this path. I'll remove the ratio
setting in kvm_arch_vcpu_create(). In kvm_set_tsc_khz(), if
this_tsc_khz == 0, I'll make it set vcpu->arch.tsc_scaling_ratio to
kvm_default_tsc_scaling_ratio.

- Haozhong
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/