On Mon, 11 Jun 2012, David Rientjes wrote: > diff --git a/mm/memory.c b/mm/memory.c > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -1225,7 +1225,15 @@ static inline unsigned long zap_pmd_range(struct mmu_gather *tlb, > next = pmd_addr_end(addr, end); > if (pmd_trans_huge(*pmd)) { > if (next - addr != HPAGE_PMD_SIZE) { > - VM_BUG_ON(!rwsem_is_locked(&tlb->mm->mmap_sem)); > +#ifdef CONFIG_DEBUG_VM > + if (!rwsem_is_locked(&tlb->mm->mmap_sem)) { > + pr_err("%s: mmap_sem is unlocked! addr=0x%lx end=0x%lx vma->vm_start=0x%lx vma->vm_end=0x%lx\n", > + __func__, addr, end, > + vma->vm_start, > + vma->vm_end); > + BUG(); > + } > +#endif > split_huge_page_pmd(vma->vm_mm, pmd); > } else if (zap_huge_pmd(tlb, vma, pmd, addr)) > goto next; This patch is now in Linus' tree so if you are able to hit this issue and capture it again, we should be able to get much more useful information. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>