From owner-svn-src-all@FreeBSD.ORG Fri Mar 20 15:31:42 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4914E10656BD; Fri, 20 Mar 2009 15:31:42 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from asmtpout014.mac.com (asmtpout014.mac.com [17.148.16.89]) by mx1.freebsd.org (Postfix) with ESMTP id 1C68A8FC15; Fri, 20 Mar 2009 15:31:42 +0000 (UTC) (envelope-from xcllnt@mac.com) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII; format=flowed Received: from [192.168.4.253] (mail.xcllnt.net [75.101.29.67]) by asmtp014.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KGT001IU9SRLM60@asmtp014.mac.com>; Fri, 20 Mar 2009 08:31:41 -0700 (PDT) Message-id: From: Marcel Moolenaar To: Marius Strobl In-reply-to: <20090320133648.GE59320@alchemy.franken.de> Date: Fri, 20 Mar 2009 08:31:39 -0700 References: <200903192040.n2JKeoYY075200@svn.freebsd.org> <31910B64-3437-4C1D-8234-FC6A1C3D4F8B@mac.com> <20090320133648.GE59320@alchemy.franken.de> X-Mailer: Apple Mail (2.930.3) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r190105 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2009 15:31:43 -0000 On Mar 20, 2009, at 6:36 AM, Marius Strobl wrote: >>> Log: >>> There's no need to wrap kdb_enter() in #ifdef KDB as it's always >>> available. >> >> That's not quite how it works. >> >> option KDB is used to build the kernel with debugging features >> that could impact performance, security and/or functionality. >> In this case it's not so much a matter of whether kdb_enter() >> is defined or not, but rather whether the kernel should respect >> -d. >> > > That's generally true but the places where I removed > #ifdef KDB don't have an impact on security, performance > doesn't matter and -d still does nothing if there's no > debugger available (which in turn would require options > KDB, at least according to documentation). I'm not sure > what your're actually trying to say; following your > logic strictly would mean that subr_kdb.c shouldn't be > standard but only compiled in when options KDB is > present. The functions in subr_kdb.c have been made standard (i.e non-optional) so that they can actually be used safely from modules without having to worry about whether the kernel has some option enabled. So, option KDB doesn't control their visibility. A debugger is present when either DDB or GDB is defined. So, option KDB doesn't control that either. Option KDB doesn't do much. For the most part it guards code that results in entry into the debugger. For serial consoles it changes the behaviour of the driver when a serial break is detected. It also enabled the checking for the alternate break sequence. Both you may not want to do in production. Granted there's no granularity. You want different options for different cases so that you can enable or disable code independently. That we never could do before KDB, and we never did afterwards... -- Marcel Moolenaar xcllnt@mac.com