Re: [RFC PATCH v5 038/104] KVM: x86/mmu: Allow per-VM override of the TDP max page level

From: Isaku Yamahata
Date: Fri Apr 01 2022 - 16:29:08 EST


On Fri, Apr 01, 2022 at 02:08:38PM +0000,
Sean Christopherson <seanjc@xxxxxxxxxx> wrote:

> On Fri, Apr 01, 2022, Kai Huang wrote:
> > On Fri, 2022-03-04 at 11:48 -0800, isaku.yamahata@xxxxxxxxx wrote:
> > > From: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> > >
> > > In the existing x86 KVM MMU code, there is already max_level member in
> > > struct kvm_page_fault with KVM_MAX_HUGEPAGE_LEVEL initial value. The KVM
> > > page fault handler denies page size larger than max_level.
> > >
> > > Add per-VM member to indicate the allowed maximum page size with
> > > KVM_MAX_HUGEPAGE_LEVEL as default value and initialize max_level in struct
> > > kvm_page_fault with it.
> > >
> > > For the guest TD, the set per-VM value for allows maximum page size to 4K
> > > page size. Then only allowed page size is 4K. It means large page is
> > > disabled.
> >
> > Do not support large page for TD is the reason that you want this change, but
> > not the result. Please refine a little bit.
>
> Not supporting huge pages was fine for the PoC, but I'd prefer not to merge TDX
> without support for huge pages. Has any work been put into enabling huge pages?
> If so, what's the technical blocker? If not...

I wanted to get feedback on the approach (always set SPTE to REMOVED_SPTE,
callback, set the SPTE to the final value instead of relying atomic update SPTE)
before going further for large page.
--
Isaku Yamahata <isaku.yamahata@xxxxxxxxx>