From owner-freebsd-current@FreeBSD.ORG Fri Dec 23 00:59:32 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id EC4E01065672; Fri, 23 Dec 2011 00:59:32 +0000 (UTC) Date: Fri, 23 Dec 2011 00:59:32 +0000 From: Alexander Best To: Benjamin Kaduk Message-ID: <20111223005932.GA65042@freebsd.org> References: <4EF34E52.2040905@FreeBSD.org> <20111222192549.GA19008@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Cc: freebsd-current@freebsd.org, Dimitry Andric Subject: Re: [patch] Cleaning up amd64 kernel optimization options X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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, 23 Dec 2011 00:59:33 -0000 On Thu Dec 22 11, Benjamin Kaduk wrote: > On Thu, 22 Dec 2011, Alexander Best wrote: > > >On Thu Dec 22 11, Dimitry Andric wrote: > >>Hi, > >> > >>I would like to ask some feedback on the attached patch, which cleans up > >>the kernel optimization options for amd64. This was touched upon > >>earlier by Alexander Best in freebsd-toolchain, here: > > > >i've been using such settings for a few months now and haven't noticed any > >problems. > > > >however bruce evans raised a good point (in a private mail). when you > >compile a > >kernel without debugging enabled, -O2 is the default. if you experience > >issues, > >and enable debugging, -O0 now becomes the default. in case the problems > >with > >the kernel were caused by the -O2 option and aren't present with the -O0 > >option, the newly built kernel with debugging enabled will not help you > >fix the > >problems. in that case you would need to set -O2 explicitly in CFLAGS. his > >exact words were: > > > >" > >I don't like -O2 for anything. However, if it is only a default, it is > >not a problem provided it can be canceled easily. And for debugging, you > >want the default to be the same as without debugging, so that (by default) > >you debug the same code that caused the problem. > >" > > > >however i don't think this is fixable. using -O0 for debuggable and > >non-debuggable kernels will cause too much of a slowdown. > > > >having -O2 as the default flag for non-debuggable kernels and -O2 -g for > >debuggable kernels might cause situations, where debugging isn't possible, > >where with -O0 -g it would have been. > > > >so i guess although bruces concerns are valid, they are impossible to > >solve. > > Where does -O0 come in? I only see talk of -O (i.e. -O1) versus -O2. sorry. of course i meant -O: .if defined(DEBUG) _MINUS_O= -O CTFFLAGS+= -g .else [..] > > -Ben Kaduk