On Tue, Mar 15, 2022 at 3:27 AM Peter Xu <peterx@xxxxxxxxxx> wrote: > > On Fri, Mar 11, 2022 at 12:25:13AM +0000, David Matlack wrote: > > static struct kvm_mmu_page *tdp_mmu_alloc_sp(struct kvm_vcpu *vcpu) > > { > > - struct kvm_mmu_page *sp; > > - > > - sp = kvm_mmu_memory_cache_alloc(&vcpu->arch.mmu_page_header_cache); > > - sp->spt = kvm_mmu_memory_cache_alloc(&vcpu->arch.mmu_shadow_page_cache); > > - set_page_private(virt_to_page(sp->spt), (unsigned long)sp); > > - > > - return sp; > > + return kvm_mmu_alloc_shadow_page(vcpu, true); > > } > > Similarly I had a feeling we could drop tdp_mmu_alloc_sp() too.. anyway: Certainly, but I think it simplifies the TDP MMU code to keep it. It abstracts away the implementation detail that a TDP MMU shadow page is allocated the same way as a shadow MMU shadow page with direct=true. > > Reviewed-by: Peter Xu <peterx@xxxxxxxxxx> > > -- > Peter Xu >