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
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to