Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Aug 2003 15:29:36 +0200 (CEST)
From:      Lukas Ertl <l.ertl@univie.ac.at>
To:        Mark Tinguely <tinguely@casselton.net>
Cc:        current@freebsd.org
Subject:   Re: Another pmap related panic
Message-ID:  <20030826152745.X29045@pcle2.cc.univie.ac.at>
In-Reply-To: <200308261229.h7QCTdwN062563@casselton.net>
References:  <200308261229.h7QCTdwN062563@casselton.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 26 Aug 2003, Mark Tinguely wrote:

> It could be a memory problem. Could you also please apply an assert
> to pmap_enter_quick() + INVARIANTS. This is a quick test that checks
> all the other paths that call pmap_enter_quick() are locked out so
> that two processors cannot be using the PADDR1/PMAP1 at the same time.
>
> --- pmap.c.orig	Mon Aug 25 08:46:03 2003
> +++ pmap.c	Tue Aug 26 07:16:06 2003
> @@ -2056,6 +2056,7 @@ pmap_enter_quick(pmap_t pmap, vm_offset_
>  	pt_entry_t *pte;
>  	vm_paddr_t pa;
>
> +	mtx_assert(&vm_page_queue_mtx, MA_OWNED);
>  	/*
>  	 * In the case that a page table page is not
>  	 * resident, we are creating it here.

This panics the machine at boot time:

panic: mutex vm page queue mutex not owned at /usr/src/sys/i386/i386/pmap.c:2012

cpuid = 0; lapic.id = 00000000
Debugger("panic")
Stopped at      Debugger+0x55:  xchgl   %ebx,in_Debugger.0
db> where
Debugger(c06809e2,0,c0680099,dff17880,100) at Debugger+0x55
panic(c0680099,c06910df,c0695c11,7dc,c0c35378) at panic+0x15f
_mtx_assert(c06e9800,1,c0695c11,7dc,c1a45600) at _mtx_assert+0xec
pmap_enter_quick(c25d60b0,8048000,c1a45600,0,70000) at pmap_enter_quick+0x33
vm_map_pmap_enter(c25d6000,8048000,c0c35378,0,0) at vm_map_pmap_enter+0x26d
vm_map_insert(c25d6000,c0c35378,0,0,8048000) at vm_map_insert+0x2ef
elf32_map_insert(c25d6000,c0c35378,0,0,8048000) at elf32_map_insert+0x2ea
elf32_load_section(c25c7d3c,c25d6000,c67b77fc,c0c35378,0) at elf32_load_section+0x12a
exec_elf32_imgact(dff17b3c,0,c067e454,105,c06ddfe0) at exec_elf32_imgact+0x273
kern_execve(c25c8720,bfbffff2,bfbfffe4,0,0) at kern_execve+0x38c
execve(c25c8720,dff17cf0,0,0,dff17cd8) at execve+0x30
start_init(0,dff17d48,c067e5ac,314,0) at start_init+0x43e
fork_exit(c04cfbd0,0,dff17d48) at fork_exit+0xcf
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xdff17d7c, ebp = 0 ---

regards,
le

-- 
Lukas Ertl                             eMail: l.ertl@univie.ac.at
UNIX Systemadministrator               Tel.:  (+43 1) 4277-14073
Vienna University Computer Center      Fax.:  (+43 1) 4277-9140
University of Vienna                   http://mailbox.univie.ac.at/~le/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030826152745.X29045>