[PATCH] KVM: Avoid oom on cr3 switch
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Avi Kivity <avi@qumranet.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
86a2b42e81
commit
7f7417d67e
|
@ -905,6 +905,8 @@ static void paging_new_cr3(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
pgprintk("%s: cr3 %lx\n", __FUNCTION__, vcpu->cr3);
|
pgprintk("%s: cr3 %lx\n", __FUNCTION__, vcpu->cr3);
|
||||||
mmu_free_roots(vcpu);
|
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);
|
mmu_alloc_roots(vcpu);
|
||||||
kvm_mmu_flush_tlb(vcpu);
|
kvm_mmu_flush_tlb(vcpu);
|
||||||
kvm_arch_ops->set_cr3(vcpu, vcpu->mmu.root_hpa);
|
kvm_arch_ops->set_cr3(vcpu, vcpu->mmu.root_hpa);
|
||||||
|
|
Loading…
Reference in a new issue