diff --git a/[refs] b/[refs] index efa547daa7e1..ab1b193ecefe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 86a2b42e81b8236d9454f5c2d7113a82ed25c735 +refs/heads/master: 7f7417d67ea6c1538469e3ea005484e807642c0a diff --git a/trunk/drivers/kvm/mmu.c b/trunk/drivers/kvm/mmu.c index 6e7381bc2218..4118e504e647 100644 --- a/trunk/drivers/kvm/mmu.c +++ b/trunk/drivers/kvm/mmu.c @@ -905,6 +905,8 @@ static void paging_new_cr3(struct kvm_vcpu *vcpu) { pgprintk("%s: cr3 %lx\n", __FUNCTION__, vcpu->cr3); mmu_free_roots(vcpu); + if (unlikely(vcpu->kvm->n_free_mmu_pages < KVM_MIN_FREE_MMU_PAGES)) + kvm_mmu_free_some_pages(vcpu); mmu_alloc_roots(vcpu); kvm_mmu_flush_tlb(vcpu); kvm_arch_ops->set_cr3(vcpu, vcpu->mmu.root_hpa);