Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Dec 2002 14:38:41 -0500 (EST)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        current@FreeBSD.ORG, alpha@FreeBSD.ORG, tjr@FreeBSD.ORG, jeff@FreeBSD.ORG
Subject:   Re: Another UMA panic under load
Message-ID:  <15864.58817.832829.647171@grasshopper.cs.duke.edu>
In-Reply-To: <20021212192506.GB8113@rot13.obsecurity.org>
References:  <20021212192506.GB8113@rot13.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help

Ugh. Since it may call kmem_malloc(), UMA must hold Giant.

This is the same problem the mbuf system has, and its what's
keeping network device drivers under Giant in 5.0.

Both subsytems should probably have GIANT_REQUIRED at all entry
points so as to catch locking problems like this earlier.

Drew


Kris Kennaway writes:
 > I think this is the same one I reported a few days ago (another alpha
 > under heavy load).
 > 
 > panic: mutex Giant not owned at /local0/src-client/sys/vm/vm_kern.c:312
 > db_print_backtrace() at db_print_backtrace+0x18
 > panic() at panic+0x104
 > _mtx_assert() at _mtx_assert+0xb4
 > kmem_malloc() at kmem_malloc+0x50
 > page_alloc() at page_alloc+0x3c
 > uma_large_malloc() at uma_large_malloc+0x58
 > malloc() at malloc+0x10c
 > fdalloc() at fdalloc+0x1b0
 > do_dup() at do_dup+0x1a4
 > dup2() at dup2+0x24
 > syscall() at syscall+0x338
 > XentSys() at XentSys+0x64
 > --- syscall (90) ---
 > --- user mode ---
 > panic
 > 
 > Kris

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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