Compiler Options

O. Hartmann ohartman at mail.zedat.fu-berlin.de
Sat Nov 11 17:53:39 UTC 2006


Daniel O'Connor wrote:
> On Saturday 11 November 2006 08:54, Jeremy Chadwick wrote:
>   
>> The kernel itself _will not_ use any SSE or MMX operations when built.
>> This is because these optimisations are known to break the FreeBSD
>> kernel.  This applies to all i386 architectures, and probably 64-bit
>> architectures too (not sure).
>>     
>
> I think this is mainly because the kernel has no FPU context so you can't 
> actually use any FPU operation (including SSE & MMX) without potentially 
> trashing userland data.
>   

This is a good question to ask why. Still a relict from FreeBSDs  BSD4.4
legacy root?
> Also, the cost of saving/restoring the context is quite high so potential 
> benefits are largely negated.
>   

Well, this is often subject of lectures even at universities today and
even it is so, modern hardware design should be aware of those
disadvantages.
Ans this leads to the question whether this is in FreeBSD so because it
is really still a disadvantage (what I do not believe, even on i386
hardware) or it is said to be so due to nobody has taken care about
that. As I remember myself, modern Linux kernels use MMX/SSE registers
even for purposes of getting an advantage in speed.

> (I could be wrong but the above is what I remember reading on various lists 
> over the years :)
>   

Yes, over the years ...

Regards,
Oliver




More information about the freebsd-stable mailing list