From owner-freebsd-alpha Thu Dec 12 11:38:49 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B1C737B401; Thu, 12 Dec 2002 11:38:48 -0800 (PST) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA9FB43EB2; Thu, 12 Dec 2002 11:38:47 -0800 (PST) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.12.6/8.12.6) with ESMTP id gBCJck82026328 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 12 Dec 2002 14:38:47 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id gBCJcf007800; Thu, 12 Dec 2002 14:38:41 -0500 (EST) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15864.58817.832829.647171@grasshopper.cs.duke.edu> Date: Thu, 12 Dec 2002 14:38:41 -0500 (EST) To: Kris Kennaway Cc: current@FreeBSD.ORG, alpha@FreeBSD.ORG, tjr@FreeBSD.ORG, jeff@FreeBSD.ORG Subject: Re: Another UMA panic under load In-Reply-To: <20021212192506.GB8113@rot13.obsecurity.org> References: <20021212192506.GB8113@rot13.obsecurity.org> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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-alpha" in the body of the message