On Wed, Feb 18, 2009 at 01:47:04PM +0000, Avi Kivity wrote: > Joerg Roedel wrote: > >Not using __GFP_ZERO when allocating shadow pages triggers the > >assertion in the kvm_mmu_alloc_page() when MMU debugging is enabled. > > > >Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx> > >--- > > arch/x86/kvm/mmu.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > >diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c > >index c90b4b2..d93ecec 100644 > >--- a/arch/x86/kvm/mmu.c > >+++ b/arch/x86/kvm/mmu.c > >@@ -301,7 +301,7 @@ static int mmu_topup_memory_cache_page(struct kvm_mmu_memory_cache *cache, > > if (cache->nobjs >= min) > > return 0; > > while (cache->nobjs < ARRAY_SIZE(cache->objects)) { > >- page = alloc_page(GFP_KERNEL); > >+ page = alloc_page(GFP_KERNEL | __GFP_ZERO); > > if (!page) > > return -ENOMEM; > > set_page_private(page, 0); > > > > What is the warning? > > Adding __GFP_ZERO here will cause us to clear the page twice, which is wasteful. The assertion which the attached patch removes fails sometimes. Removing this assertion is the alternative solution to this problem ;-) >From ca45f3a2e45cd7e76ca624bb1098329db8ff83ab Mon Sep 17 00:00:00 2001 From: Joerg Roedel <joerg.roedel@xxxxxxx> Date: Wed, 18 Feb 2009 14:51:13 +0100 Subject: [PATCH] kvm mmu: remove assertion in kvm_mmu_alloc_page Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx> --- arch/x86/kvm/mmu.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index d93ecec..b226973 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -802,7 +802,6 @@ static struct kvm_mmu_page *kvm_mmu_alloc_page(struct kvm_vcpu *vcpu, set_page_private(virt_to_page(sp->spt), (unsigned long)sp); list_add(&sp->link, &vcpu->kvm->arch.active_mmu_pages); INIT_LIST_HEAD(&sp->oos_link); - ASSERT(is_empty_shadow_page(sp->spt)); bitmap_zero(sp->slot_bitmap, KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS); sp->multimapped = 0; sp->parent_pte = parent_pte; -- 1.5.6.4 -- | Advanced Micro Devices GmbH Operating | Karl-Hammerschmidt-Str. 34, 85609 Dornach bei München System | Research | Geschäftsführer: Jochen Polster, Thomas M. McCoy, Giuliano Meroni Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München | Registergericht München, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html