panic: mutex vm object not owned ...

Coleman Kane cokane at cokane.org
Tue Feb 22 07:37:54 PST 2005


On Tue, Feb 22, 2005 at 07:23:53AM +1000, Peter Grehan wrote, and it was proclaimed:
> Coleman Kane wrote:
> 
> > panic: mutex vm object not owned at /usr/src/sys/vm/vm_page.c:608
> >0xd7cc1ac8: at panic+0x134
> >0xd7cc1b68: at _mtx_assert+0x74
> >0xd7cc1b88: at vm_page_remove+0x5c
> >0xd7cc1ba8: at vm_page_free_toq+0xcc
> >0xd7cc1bc8: at vm_page_free+0x28
> >0xd7cc1be8: at uma_small_free+0x60
> >0xd7cc1c18: at zone_drain+0x2e8
> >0xd7cc1c58: at zone_foreach+0x64
> >0xd7cc1c78: at uma_reclaim+0x20
> >0xd7cc1c98: at vm_pageout_scan+0x200
> >0xd7cc1d58: at vm_pageout+0x39c
> >0xd7cc1d98: at fork_exit+0x118
> >0xd7cc1dc8: at fork_trampoline+0xc
>  ...
> >Yeah, I've been seeing this as well (on my AMD64 machine) lately. Any
> >idea where it is from?
> 
>  Yes - it's rev 1.114 of uma_core.c. The comment "as the page(s) 
> undoubtedly came from kmem_map for those two." isn't true for the
> UMD_MD_SMALL_ALLOC case.
> 
>  It was assumed pre-1.114 that non-UMA_SLAB_KMEM were allocated with 
> NULL backing objects, which can be seen from amd64/amd64/uma_machdep.c:
> 
> void *
> uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait)
> {
>    ...
>         *flags = UMA_SLAB_PRIV;
> 
>    ...
>                  m = vm_page_alloc(NULL, colour++, pflags | 
> VM_ALLOC_NOOBJ);
>    ...
> 
> 
>  Try backing out the couple of lines from that rev and see how it goes.
> 
> later,
> 
> Peter.

I pulled out the line 1939:
 if ((zone != slabzone) && (zone != slabrefzone))

Which undoes the patch. I still have the kernel panics though. I have a
good test: OOo-2.0 will always trigger the panic.

--
coleman kane
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ppc/attachments/20050222/86e35dd7/attachment.bin


More information about the freebsd-ppc mailing list