Date: Fri, 23 Dec 2011 19:55:04 +0200 From: Kostik Belousov <kostikbel@gmail.com> To: Dimitry Andric <dim@freebsd.org> Cc: Garrett Cooper <yanegomi@gmail.com>, Alexander Best <arundel@freebsd.org>, freebsd-current@freebsd.org, Benjamin Kaduk <kaduk@mit.edu> Subject: Re: [patch] Cleaning up amd64 kernel optimization options Message-ID: <20111223175504.GK50300@deviant.kiev.zoral.com.ua> In-Reply-To: <4EF4B46E.7000405@FreeBSD.org> References: <4EF34E52.2040905@FreeBSD.org> <20111223005932.GA65042@freebsd.org> <25FBBF23-CDFA-429E-966D-A90409D8F2BD@gmail.com> <201112230937.08971.jhb@freebsd.org> <20111223160032.GA18839@freebsd.org> <4EF4B46E.7000405@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--gvPIjeLKx76TMoZf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Dec 23, 2011 at 06:03:42PM +0100, Dimitry Andric wrote: > On 2011-12-23 17:00, Alexander Best wrote: > ... > >>>Back in the 7.x days, I ran into some code that wasn't easily to debug= =20 > >>>because the compiler optimized things out with -O2 by inlining and > >>otherwise shifting around code, so setting breakpoints in gdb became=20 > >>difficult. So from that point on I've gotten into the habit of doing -O > >>explicitly in make.conf if DEBUG_FLAGS was specified. Just a thought.. > >> > >>I still leave -O2 in, but what I do is this: > >> > >> make DEBUG_FLAGS=3D"-g -fno-inline" > > > >would making -O2 -fno-inline the default flags introduce any major=20 > >slowdown? >=20 > Not major, but a minor slowdown is quite possible, especially on arches > like x86, where call overhead is relatively high, and code caches are > relatively large. >=20 > Anyway, I'd rather get the thread back to my original patch instead of > messing around with the default flags for release, which have been -O2 > for a long time now. If people want to override those for specific > reasons, they can always set COPTFLAGS or DEBUG_FLAGS manually, like > John shows. >=20 > The only thing my patch makes sure of, is that amd64 does the same thing > as all other arches, e.g.: compile with a low optimization settings for > debug (-O, which is equivalent to -O1), compile with arch-specific high > optimization settings for release (-O2 plus whatever is required for the > arch, or lower if optimization breaks things). Release is built with -g for long time, this is where the symbol files in /boot/kernel comes from. --gvPIjeLKx76TMoZf Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk70wHcACgkQC3+MBN1Mb4inHwCglrnuSVkdnXuSrYzoK7LYwZu2 5oIAoIO8H7mDEKfftcvn6kLxziq3aeKC =moJN -----END PGP SIGNATURE----- --gvPIjeLKx76TMoZf--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111223175504.GK50300>