Messages in this thread Patch in this message | | | From | isaku.yamahata@intel ... | Subject | [RFC PATCH 02/13] KVM: TDP_MMU: Go to next level if smaller private mapping exists | Date | Sun, 7 Aug 2022 15:18:35 -0700 |
| |
From: Xiaoyao Li <xiaoyao.li@intel.com>
Cannot map a private page as large page if any smaller mapping exists.
It has to wait for all the not-mapped smaller page to be mapped and promote it to larger mapping.
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> --- arch/x86/kvm/mmu/tdp_mmu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c index f2461deba2dc..faf278e0c740 100644 --- a/arch/x86/kvm/mmu/tdp_mmu.c +++ b/arch/x86/kvm/mmu/tdp_mmu.c @@ -1322,7 +1322,8 @@ int kvm_tdp_mmu_map(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault) } tdp_mmu_for_each_pte(iter, mmu, is_private, raw_gfn, raw_gfn + 1) { - if (fault->nx_huge_page_workaround_enabled) + if (fault->nx_huge_page_workaround_enabled || + kvm_gfn_shared_mask(vcpu->kvm)) disallowed_hugepage_adjust(fault, iter.old_spte, iter.level); if (iter.level == fault->goal_level) -- 2.25.1
| |