Re: [RFC PATCH v2 65/69] KVM: X86: Introduce initial_tsc_khz in struct kvm_arch

From: Xiaoyao Li
Date: Mon Jul 26 2021 - 01:31:30 EST


On 7/14/2021 2:14 AM, Sean Christopherson wrote:
On Tue, Jul 06, 2021, Paolo Bonzini wrote:
On 03/07/21 00:05, isaku.yamahata@xxxxxxxxx wrote:
From: Xiaoyao Li <xiaoyao.li@xxxxxxxxx>

Introduce a per-vm variable initial_tsc_khz to hold the default tsc_khz
for kvm_arch_vcpu_create().

This field is going to be used by TDX since TSC frequency for TD guest
is configured at TD VM initialization phase.

Signed-off-by: Xiaoyao Li <xiaoyao.li@xxxxxxxxx>
Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>
---
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/kvm/x86.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)

So this means disabling TSC frequency scaling on TDX.

No. It still supports TSC frequency scaling on TDX. Only that we need to configure TSC frequency for TD guest at VM level, not vcpu level.

Would it make sense
to delay VM creation to a separate ioctl, similar to KVM_ARM_VCPU_FINALIZE
(KVM_VM_FINALIZE)?

There's an equivalent of that in the next mega-patch, the KVM_TDX_INIT_VM sub-ioctl
of KVM_MEMORY_ENCRYPT_OP. The TSC frequency for the guest gets provided at that
time.