Re: [patch v2] mm, thp: print useful information when mmap_sem isunlocked in zap_pmd_range

From: David Rientjes
Date: Fri Jun 22 2012 - 17:06:37 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/