From owner-freebsd-stable@FreeBSD.ORG Sat May 13 15:52:36 2006 Return-Path: X-Original-To: freebsd-stable@FreeBSD.org Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 39CC416A408 for ; Sat, 13 May 2006 15:52:36 +0000 (UTC) (envelope-from fullermd@over-yonder.net) Received: from mail.localelinks.com (web.localelinks.com [64.39.75.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id BF1C943D53 for ; Sat, 13 May 2006 15:52:33 +0000 (GMT) (envelope-from fullermd@over-yonder.net) Received: from draco.over-yonder.net (adsl-072-148-013-213.sip.jan.bellsouth.net [72.148.13.213]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.localelinks.com (Postfix) with ESMTP id F3EBB168; Sat, 13 May 2006 10:52:32 -0500 (CDT) Received: by draco.over-yonder.net (Postfix, from userid 100) id 2C79061C2B; Sat, 13 May 2006 10:52:32 -0500 (CDT) Date: Sat, 13 May 2006 10:52:32 -0500 From: "Matthew D. Fuller" To: Kris Kennaway Message-ID: <20060513155232.GF3874@over-yonder.net> References: <20060427160536.M96305@atlantis.atlantis.dp.ua> <20060427181226.GA66431@xor.obsecurity.org> <20060428122448.K57436@atlantis.atlantis.dp.ua> <20060428182818.GA10410@xor.obsecurity.org> <20060512161836.R75964@atlantis.atlantis.dp.ua> <20060513020051.GB18438@xor.obsecurity.org> <20060513084236.W74146@atlantis.atlantis.dp.ua> <20060513143740.GA46313@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060513143740.GA46313@xor.obsecurity.org> X-Editor: vi X-OS: FreeBSD User-Agent: Mutt/1.5.11-fullermd.3 Cc: freebsd-stable@FreeBSD.org Subject: INVARIANTS (was Re: RELENG_4 -> 5 -> 6: significant performance regression) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 May 2006 15:52:36 -0000 On Sat, May 13, 2006 at 10:37:40AM -0400 I heard the voice of Kris Kennaway, and lo! it spake thus: > > With respect to INVARIANTS, you just need to get used to the fact > that running thousands of checks for bugs is incompatible with > running at optimal speed. (I'm not sure what the point of saying this is, really, but I'll say it anyway.) I've run all my systems with INVARIANTS for at least as long as I've known it was there. While more performance is always good, hardly any of my systems are so constrained as to need every bit of suds all the time; trading off a bit of performance for a better chance of catching a problem before it really screws something up is just a no-brainer. Additionally (and especially on -CURRENT), I run it because I think more people run it than don't, and while theoretically it should just add checks, I know there are places where it changes code paths much more than that. So, the !(INVARIANTS) code paths don't get exercised as much, and I worry about bugs hiding there that don't get found (I think I recall a case or three over the years of just that happening). Like everyone, I'm sure, I'm all for ferreting out bugs and getting them fixed, but I'd rather not have to bust my virtual face on the virtual concrete to do it ;) It's totally worth wasting 2% of the system on adding that security. Heck, maybe even 5%. But 10%? 25%? I wonder. It's been a long time since I had a system fall over from a KASSERT, but due to the code path issues, I'm not sure that really means I'm "safe" without it. Yeah, I was right, there wasn't really much point in there. But I typed it, so y'all have to read it now :p -- Matthew Fuller (MF4839) | fullermd@over-yonder.net Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream.