Learning about Control of Optimization -- for dummies please

Roland Smith rsmith at xs4all.nl
Wed Aug 5 13:12:42 UTC 2009


On Wed, Aug 05, 2009 at 07:38:20AM -0500, Scott Bennett wrote:
>      On Wed, 5 Aug 2009 12:19:23 +0200 Roland Smith <rsmith at xs4all.nl> wrote:
> >On Wed, Aug 05, 2009 at 10:54:07AM +0100, David Southwell wrote:
> >> I have found http://docs.freebsd.org/info/gcc/gcc.info.Optimize_Options.html.
> >> 
> >> I am about to build a new kernel am starting to dig a bit deeper into things I 
> >> have, until now, taken for granted.
> >> 
> >> The above link is very informative in technical terms about how to control 
> >> optimization but I find it difficult to interpret the info in a way that tells 
> >> me what might work best on my own system (Intel quad Core) with 8G of ram.
> >
> >The build system takes care of that, once you have set the correct
> >CPUTYPE in /etc/make.conf. For a quad-core, set CPUTYPE=nocona. See
> >make.conf(5), /usr/src/share/mk/bsd.cpu.mk and
> >/usr/src/sys/conf/kern.pre.mk.
> 
>      As I read the man page for [g]cc, though, setting -march=nocona (which
> is where the CPUTYPE information ends up in the cc commands) tells the
> compiler which base instruction set to use and which model of instruction
> scheduling to use, but to get the rest of the model-dependent features used,
> he would still need to add "-mmmx -msse -msse2 -msse3" at a minimum for most
> other compilations, though these would not be advisable for kernel
> compilations. 

Both i386 and amd64 explicitly prohibit the use of FPU, SSE and other
SIMD operations inside the kernel itself. These operations are exclusively 
reserved for user applications. See /usr/src/sys/conf/kern.mk.

The makefiles for the kernel add appropriate options depending on the CPUTYPE.

Roland
-- 
R.F.Smith                                   http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20090805/c26f249c/attachment.pgp


More information about the freebsd-questions mailing list