Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jun 2003 11:39:37 -0400 (EDT)
From:      Robert Watson <rwatson@FreeBSD.ORG>
To:        Hiten Pandya <hmp@FreeBSD.ORG>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: locking problems in IPv6 code
Message-ID:  <Pine.NEB.3.96L.1030621113833.26188F-100000@fledge.watson.org>
In-Reply-To: <20030621120809.GC5692@perrin.int.nxad.com>

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

On Sat, 21 Jun 2003, Hiten Pandya wrote:

> On Thu, Jun 19, 2003 at 03:17:03PM -0700, John-Mark Gurney wrote:
> > I am running FreeBSD 5.1-R on a sparc64 machine, and am getting warnings
> > about mallocing data w/ a lock aquired.
> > 
> > dmesg output:
> > malloc() of "64" with the following non-sleepablelocks held:
> > exclusive sleep mutex netisr lock r = 0 (0xc0271890) locked @ net/netisr.c:215
> 
> 	For what it's worth, these warnings also appear if netisr direct
> 	dispatch is enabled with the fxp(4) driver.

These messages occur because our link layer address management code does
mallocs with M_WAITOK.  We need to teach that code to not wait when called
from the interrupt path, and pass back up failure modes, or avoid holding
locks while calling it.  Probably the former, although the latter is also
going to be good from a lock order perspective.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org      Network Associates Laboratories




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1030621113833.26188F-100000>