From ed03bb3514742bc9d2490ad478a934c0b4864588 Mon Sep 17 00:00:00 2001 From: Marcelo Tosatti Date: Wed, 11 Jun 2008 20:32:40 -0300 Subject: [PATCH] --- yaml --- r: 98419 b: refs/heads/master c: 3094538739415a9225afd2a6c78cb0fe1c1f641b h: refs/heads/master i: 98417: a4fe5a9567935d0781d77f8bd2f65ac4d3702a64 98415: fec1b92a9bdf4f5c1f665e477aa7cb452a67221b v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/mmu.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index fe9d6801cf64..de6ab9bd34ae 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6597ca09e6c0e5aec7ffd2b8ab48c671d3c28414 +refs/heads/master: 3094538739415a9225afd2a6c78cb0fe1c1f641b diff --git a/trunk/arch/x86/kvm/mmu.c b/trunk/arch/x86/kvm/mmu.c index 9628091c574d..baa6503894d3 100644 --- a/trunk/arch/x86/kvm/mmu.c +++ b/trunk/arch/x86/kvm/mmu.c @@ -1581,11 +1581,13 @@ static void mmu_pte_write_new_pte(struct kvm_vcpu *vcpu, u64 *spte, const void *new) { - if ((sp->role.level != PT_PAGE_TABLE_LEVEL) - && !vcpu->arch.update_pte.largepage) { - ++vcpu->kvm->stat.mmu_pde_zapped; - return; - } + if (sp->role.level != PT_PAGE_TABLE_LEVEL) { + if (!vcpu->arch.update_pte.largepage || + sp->role.glevels == PT32_ROOT_LEVEL) { + ++vcpu->kvm->stat.mmu_pde_zapped; + return; + } + } ++vcpu->kvm->stat.mmu_pte_updated; if (sp->role.glevels == PT32_ROOT_LEVEL)