Re: locking problems in IPv6 code

From: Robert Watson <rwatson_at_FreeBSD.ORG>
Date: Sat, 21 Jun 2003 11:39:37 -0400 (EDT)
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 _at_ 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_at_fledge.watson.org      Network Associates Laboratories
Received on Sat Jun 21 2003 - 06:39:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:12 UTC