Re: [PATCH v11 017/113] KVM: Support KVM_CAP_MAX_VCPUS for KVM_ENABLE_CAP

From: Huang, Kai
Date: Tue Feb 28 2023 - 19:54:30 EST


On Tue, 2023-02-28 at 16:40 -0800, Isaku Yamahata wrote:
> On Tue, Feb 28, 2023 at 09:57:50PM +0000,
> "Huang, Kai" <kai.huang@xxxxxxxxx> wrote:
>
> > On Mon, 2023-02-27 at 13:26 -0800, Isaku Yamahata wrote:
> > > > > TDX attestation includes the maximum number of vcpu that the guest can
> > > > > accommodate.  
> > > > >
> > > >
> > > > I don't understand why "attestation" is the reason here.  Let's say TDX is
> > > > used
> > > > w/o attestation, I don't think this patch can be discarded?
> > > >
> > > > IMHO the true reason is TDX has it's own control of maximum number of vcpus,
> > > > i.e. asking you to specify the value when creating the TD.  Therefore, the
> > > > constant KVM_MAX_VCPUS doesn't work for TDX guest anymore.
> > >
> > > Without TDX attestation, this can be discarded.  The TD is created with
> > > max_vcpus=KVM_MAX_VCPUS by default.
> >
> > This parses like: 
> >
> > If we have attestation, the TD can be created with a user-specified non-default
> > value. Otherwise, the TD is always created with default value.
> >
> > It doesn't make sense, right?
> >
> > Because architecturally whether TD can be created with a user specified value
> > doesn't depend on attestation at all.
>
> I'm not sure if I got your point.
> Even without attestation, it's allowed to specify max vcpus. Not "always".
>

Exactly.

So "allow to specify max vcpus" isn't due to attestation, as you also said.  

Then why this patch is due to "TDX attestation includes the maximum number of
vcpu that the guest can accommodate"? Shouldn't the reason be "TDX
architecturally has it's own control of maximum number of vcpus" as I mentioned
in my first reply?