Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 May 2003 15:04:20 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        David Malone <dwmalone@maths.tcd.ie>
Cc:        current@FreeBSD.org
Subject:   Re: mb alloc and: panic: mutex Giant not owned at ../../../vm/vm_kern.c:315 
Message-ID:  <16085.2100.902452.819504@grasshopper.cs.duke.edu>
In-Reply-To: <200305281628.aa67444@salmon.maths.tcd.ie>
References:  <Pine.NEB.3.96L.1030528111845.51795D-100000@fledge.watson.org> <200305281628.aa67444@salmon.maths.tcd.ie>

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

David Malone writes:
 > > > This may be my fault, as I made some changes recently that assumed that
 > > > the mbuf allocator grabbed giant when needed. I'll check the code path
 > > > you've mentioned to see if it grabs giant now, but I suspect that I just
 > > > need to move the giant grabbing back where it was before. 
 > 
 > > This doesn't seem to be a reproduceable problem for me, FWIW, (presumably
 > > a property of bucket sizes, etc) so you have all the information I have
 > > :-).
 > 
 > You'd have to be quite unlucky to trigger it (calling sendit at a
 > time when a per-cpu mbuf pool was empty). I have a vague feeling
 > that my sendit change isn't the only place that does this.

FWIW, calling kmem_malloc() w/o Giant is safe if you call with
NOWAIT.  But if you wait, you must hold Giant.

Drew



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