From owner-svn-src-head@FreeBSD.ORG Thu Dec 13 00:09:56 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 49AF51C2; Thu, 13 Dec 2012 00:09:56 +0000 (UTC) (envelope-from bright@mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 23EC28FC12; Thu, 13 Dec 2012 00:09:55 +0000 (UTC) Received: from Alfreds-MacBook-Pro-6.local (c-67-180-208-218.hsd1.ca.comcast.net [67.180.208.218]) by elvis.mu.org (Postfix) with ESMTPSA id 145931A3C33; Wed, 12 Dec 2012 16:09:55 -0800 (PST) Message-ID: <50C91CD3.7030900@mu.org> Date: Wed, 12 Dec 2012 16:09:55 -0800 From: Alfred Perlstein User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Navdeep Parhar Subject: Re: svn commit: r244112 - head/sys/kern References: <201212110708.qBB78EWx025288@svn.freebsd.org> <201212121046.43706.jhb@freebsd.org> <201212121658.49048.jhb@freebsd.org> <50C90567.8080406@FreeBSD.org> <50C909BD.9090709@mu.org> <50C91B32.4080904@FreeBSD.org> In-Reply-To: <50C91B32.4080904@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Adrian Chadd , src-committers@FreeBSD.org, John Baldwin , svn-src-all@FreeBSD.org, Alfred Perlstein , Andriy Gapon , svn-src-head@FreeBSD.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Dec 2012 00:09:56 -0000 On 12/12/12 4:02 PM, Navdeep Parhar wrote: > On 12/12/12 14:48, Alfred Perlstein wrote: >> On 12/12/12 2:29 PM, Andriy Gapon wrote: >>> Now we get a new middle-ground: get both worse performance (because >>> KASSERTs are compiled in) and a risk of harming your data (because >>> KASSERTs no longer panic). The upside: there is no panic! There's just >>> a log message (or etc). and chance to get more log messages because >>> the insanity propagates. And a chance to lose your data (your >>> customer's) - but I've already mentioned this. I am not sure that I >>> like this kind of middle-ground. >> I have a number of points here: >> >> The most important one being: >> 1) without kassert you would still have the bug, just that it would be >> unreported. >> The upside: there is no panic! There's **NO** log message (or etc). >> and chance to get more log messages because the insanity propagates. >> >> Terrible! >> >> Let me explain that again: >> If you don't compile in KASSERT, then it's not like the condition is >> never going to happen. Instead it will just be unreported. > A KASSERT() really is for a condition that should never happen. It is > primarily useful during development and testing (and when the code is > reworked or redesigned). I agree with Andriy here -- a non-fatal assert > shouldn't really exist. What do you think happens to a FreeBSD kernel when INVARIANTS is compiled in and it trips an assertion after my change? -Alfred