Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jul 2004 14:19:30 -0400 (EDT)
From:      Robert Watson <rwatson@freebsd.org>
To:        Gleb Smirnoff <glebius@cell.sick.ru>
Cc:        current@freebsd.org
Subject:   Re: ng_ksocket on CURRENT
Message-ID:  <Pine.NEB.3.96L.1040705141810.48668A-100000@fledge.watson.org>
In-Reply-To: <20040705181106.GA60338@cell.sick.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 5 Jul 2004, Gleb Smirnoff wrote:

> yes, this thread is originating from a callout. Actually, it is
> impossible to reproduce this as I described in previous letter. Sorry. 
> 
> So you suggest to lock Giant in a callout handle? Or should we somewhat
> tweak ng_ksocket? 

Depends on the callout, but if it's a network-specific callout, I'd
suggest having callout_init() use the following logic to build the flags
field:

	debug_mpsafenet ? CALLOUT_MPSAFE : 0

I.e., if we're running without debug.mpsafenet turned on, then run the
callout with Giant.  If the callout does a lot of other stuff, I'd acquire
Giant conditionally (as your patch does) just around the network bits.
That said, I'd have Giant include all the netgraph bits, not just the
socket bits.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org      Principal Research Scientist, McAfee Research



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