Messages in this thread | | | Date | Tue, 6 Oct 2015 09:54:04 +0800 | From | Haozhong Zhang <> | Subject | Re: [PATCH 02/12] KVM: x86: Add a common TSC scaling ratio field in kvm_vcpu_arch |
| |
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@intel.com> > > --- > > 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
| |