largepage BUG_ON

Anton Blanchard anton at samba.org
Tue Mar 9 21:23:25 EST 2004


With a bit of effort I managed to hit the following:

kernel BUG in hugepte_offset at arch/ppc64/mm/hugetlbpage.c:195!
NIP: C0000000000459A0 XER: 0000000020000000 LR: C00000000004682C
REGS: c0000007fe62f7a0 TRAP: 0700    Not tainted
MSR: 9000000000029032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
TASK: c0000012286f5260[32071] 'bustmem' THREAD: c0000007fe62c000 CPU: 14
GPR00: 0000000000000000 C0000007FE62FA20 C000000000776E20 C000000000000000
GPR04: 0000010300000000 0000000000000080 C0000000006605E0 0000000000000001
GPR08: C000000059721000 0000000000000000 C000000000000000 000000004800B6C0
GPR12: CCCCCCCCCCCCCCCD C0000000004FC000 0000000000000000 0000000000000000
GPR16: 0000000000000000 FFFFFFFFFFFFFFF4 0000000000000001 0000010000000000
GPR20: 0000010C80000000 0000000002746000 C0000007FF435000 0000000000000000
GPR24: C000000000801F00 0000002746000000 0000000000000000 0000000000000005
GPR28: C000000000854300 000000000000D400 C000000934EFAFE0 0000010300000000
NIP [c0000000000459a0] .hugepte_offset+0xa4/0xb4
LR [c00000000004682c] .unmap_hugepage_range+0x15c/0x2d0
Call Trace:
[c000000000046a0c] .zap_hugepage_range+0x6c/0x9c
[c000000000093d3c] .zap_page_range+0x78/0x218
[c000000000099e04] .do_mmap_pgoff+0x630/0x7cc
[c000000000015a24] .sys_mmap+0x17c/0x1b0
[c00000000000f624] .ret_from_syscall_1+0x0/0xa4

Which points to the second BUG_ON here:

static hugepte_t *hugepte_offset(struct mm_struct *mm, unsigned long addr)
{
        pgd_t *pgd;
        pmd_t *pmd = NULL;

        BUG_ON(!in_hugepage_area(mm->context, addr));

        pgd = pgd_offset(mm, addr);
        pmd = pmd_offset(pgd, addr);

        /* We shouldn't find a (normal) PTE page pointer here */
        BUG_ON(!pmd_none(*pmd) && !pmd_hugepage(*pmd));

        return (hugepte_t *)pmd;
}

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list