Date: Thu, 22 Dec 2011 19:49:42 -0500 (EST) From: Benjamin Kaduk <kaduk@MIT.EDU> To: Alexander Best <arundel@freebsd.org> Cc: freebsd-current@freebsd.org, Dimitry Andric <dim@freebsd.org> Subject: Re: [patch] Cleaning up amd64 kernel optimization options Message-ID: <alpine.GSO.1.10.1112221948430.882@multics.mit.edu> In-Reply-To: <20111222192549.GA19008@freebsd.org> References: <4EF34E52.2040905@FreeBSD.org> <20111222192549.GA19008@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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. -Ben Kaduk
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.GSO.1.10.1112221948430.882>