IMO, the shortlog is too literal and doesn't help understand the implications of the change. I prefer something like: KVM: x86/mmu: Always use current mmu's role when loading new PGD On Wed, Feb 09, 2022, Paolo Bonzini wrote: > Since the guest PGD is now loaded after the MMU has been set up > completely, the desired role for a cache hit is simply the current > mmu_role. There is no need to compute it again, so __kvm_mmu_new_pgd > can be folded in kvm_mmu_new_pgd. > > For the !tdp_enabled case, it would also have been possible to use > the role that is already in vcpu->arch.mmu. > > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > --- With a different shortlog and newline, Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx> > arch/x86/kvm/mmu/mmu.c | 29 ++++------------------------- > 1 file changed, 4 insertions(+), 25 deletions(-) > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index df9e0a43513c..38b40ddcaad7 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -190,8 +190,6 @@ struct kmem_cache *mmu_page_header_cache; > static struct percpu_counter kvm_total_used_mmu_pages; > > static void mmu_spte_set(u64 *sptep, u64 spte); > -static union kvm_mmu_page_role > -kvm_mmu_calc_root_page_role(struct kvm_vcpu *vcpu); > > struct kvm_mmu_role_regs { > const unsigned long cr0; > @@ -4172,9 +4170,9 @@ static bool fast_pgd_switch(struct kvm_vcpu *vcpu, gpa_t new_pgd, > return cached_root_find_and_replace(vcpu, new_pgd, new_role); > } > > -static void __kvm_mmu_new_pgd(struct kvm_vcpu *vcpu, gpa_t new_pgd, > - union kvm_mmu_page_role new_role) > +void kvm_mmu_new_pgd(struct kvm_vcpu *vcpu, gpa_t new_pgd) > { > + union kvm_mmu_page_role new_role = vcpu->arch.mmu->mmu_role.base; Newline needed. > if (!fast_pgd_switch(vcpu, new_pgd, new_role)) { > /* kvm_mmu_ensure_valid_pgd will set up a new root. */ > return;