From owner-freebsd-current@FreeBSD.ORG Fri Sep 3 11:34:14 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D6F6716A4CE for ; Fri, 3 Sep 2004 11:34:14 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6484043D48 for ; Fri, 3 Sep 2004 11:34:14 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.11/8.12.11) with ESMTP id i83BVNbi045929; Fri, 3 Sep 2004 07:31:23 -0400 (EDT) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i83BVNNk045926; Fri, 3 Sep 2004 07:31:23 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Fri, 3 Sep 2004 07:31:23 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Gordon Bergling In-Reply-To: <20040903104015.GA1889@nemesis.md.0xfce3.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org Subject: Re: cvs commit: src/sys/conf options src/sys/sys kernel.h src/sys/net netisr.c X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Sep 2004 11:34:15 -0000 On Fri, 3 Sep 2004, Gordon Bergling wrote: > > Change the default disposition of debug.mpsafenet from 0 to 1, which > > will cause the network stack to operate without the Giant lock by > > default. This change has the potential to improve performance by > > increasing parallelism and decreasing latency in network processing. > > In Consideration of some recent emails on the current mailinglist I am > not sure whether I should add NET_WITH_GIANT to my kernel config or not. > > In my LAN I take heavy usage of IPv6 and one of NICs (vr driver) is not > yet marked MP_SAFE. > > Is it safe for now to switch over to debug.mpsafenet=1 or should I wait > until the locking of IPv6 is done? > > BTW. I am very willing to help testing... ;) :-) if_vr has recently had its locking reviewed (and in many cases corrected) by Bruce Simpson, so I think it is probably reasonable to run w/o Giant even though it wasn't on my list of known good drivers. He's marked it as INTR_MPSAFE (inbound path runs w/o giant), and not marked it IFF_NEEDSGIANT (outbound path runs w/ giant). Regarding IPv6: significant parts of IPv6 are safe in an MPSAFE environment, but not very well tested -- I've had about three or four minor but significant (fail stop) bugs to correct in the last two weeks. I don't doubt more are waiting. Areas that still require substantial attention in locking include the IPv6 forwarding path, ip6fw, and multicast discovery/routing. If you're using IPv6 on a local system largely for services like TCP consumption and serving, you are probably OK, but might encounter fail stop (assertion failure) scenarios that require some debugging. So far, these problems have generally been resolved within 48 hours of the problem being reported. So if you're willing to do a bit of testing, MPSAFE operation is probably ready for you, and additional IPv6 testing is something I'd like to see more of, as I don't have easy access to a rich IPv6 environment. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research